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