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() 的实施由您决定。