我想知道是否有任何人有使用远程属性配置Spring Boot的经验或建议(例如,位于远程计算机上的数据库中的属性而不是application.properties
文件)。我知道Spring Boot的外部配置选项,但这些都假定配置是通过.properties
文件完成的。
理想情况下,我只需要对单个数据源的配置进行硬编码,然后可以使用远程获取的值完成各种@Beans
的所有后续配置。
这可能吗?
答案 0 :(得分:2)
Spring Cloud有一个引导程序ApplicationContext
,您可以自定义并使用该引导程序向Environment
添加属性。 spring-cloud-config-client
非常轻量级,除Spring之外没有强制依赖。文档为here。示例引导程序配置:
@Configuration
public class CustomPropertySourceLocator implements PropertySourceLocator {
@Override
public PropertySource<?> locate(Environment environment) {
return new MapPropertySource("databaseProperties",
getPropertiesFromDatabase());
}
}
getPropertiesFromDatabase()
的实施取决于您。