SpringCloud 自定义引导程序Property源

2023-06-06 17:09 更新

引导过程添加的外部配置的默认属性来源是Spring Cloud Config服务器,但是您可以通过将类型​PropertySourceLocator​的beans添加到引导上下文(通过​spring.factories​)来添加其他来源。例如,您可以从其他服务器或数据库插入其他属性。

例如,请考虑以下定制定位器:

@Configuration
public class CustomPropertySourceLocator implements PropertySourceLocator {

    @Override
    public PropertySource<?> locate(Environment environment) {
        return new MapPropertySource("customProperty",
                Collections.<String, Object>singletonMap("property.from.sample.custom.source", "worked as intended"));
    }

}

传入的​Environment​是即将创建的​ApplicationContext​的那个,换句话说,就是我们为其提供其他属性源的那个。它已经有其正常的Spring Boot提供的属性源,因此您可以使用这些属性来定位特定于此​Environment​的属性源(例如,通过在​spring.application.name​上键入它,这与默认设置相同)。 Spring Cloud Config服务器属性源定位符)。

如果您创建一个包含此类的jar,然后添加包含以下内容的​META-INF/spring.factories​,则​customProperty​ ​PropertySource​会出现在任何在其类路径中包含该jar的应用程序中:

org.springframework.cloud.bootstrap.BootstrapConfiguration=sample.custom.CustomPropertySourceLocator


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号