Spring 启动远程配置?
Spring Boot remote configuration?
我想知道是否有人对配置 Spring 使用远程属性引导有任何经验或建议(例如,属性位于远程计算机的数据库中而不是 application.properties
文件中) .我知道 Spring Boot 的外部配置选项,但这些都假定配置是通过 .properties
文件完成的。
理想情况下,我只需要对单个数据源的配置进行硬编码,然后各种 @Beans
的所有后续配置都可以使用远程获取的值来完成。
这可能吗?
Spring Cloud has a bootstrap ApplicationContext
that you can customize and use to add properties to the Environment
. The spring-cloud-config-client
is pretty lightweight and has no mandatory dependencies other than Spring. Documentation is here。示例 bootstrap 配置:
@Configuration
public class CustomPropertySourceLocator implements PropertySourceLocator {
@Override
public PropertySource<?> locate(Environment environment) {
return new MapPropertySource("databaseProperties",
getPropertiesFromDatabase());
}
}
getPropertiesFromDatabase()
的实施由您决定。
我想知道是否有人对配置 Spring 使用远程属性引导有任何经验或建议(例如,属性位于远程计算机的数据库中而不是 application.properties
文件中) .我知道 Spring Boot 的外部配置选项,但这些都假定配置是通过 .properties
文件完成的。
理想情况下,我只需要对单个数据源的配置进行硬编码,然后各种 @Beans
的所有后续配置都可以使用远程获取的值来完成。
这可能吗?
Spring Cloud has a bootstrap ApplicationContext
that you can customize and use to add properties to the Environment
. The spring-cloud-config-client
is pretty lightweight and has no mandatory dependencies other than Spring. Documentation is here。示例 bootstrap 配置:
@Configuration
public class CustomPropertySourceLocator implements PropertySourceLocator {
@Override
public PropertySource<?> locate(Environment environment) {
return new MapPropertySource("databaseProperties",
getPropertiesFromDatabase());
}
}
getPropertiesFromDatabase()
的实施由您决定。