乐趣区

关于springcloud:Spring-Cloud自定义引导属性源

疏导过程增加的内部配置的默认属性源是 Config Server,但您能够通过将 PropertySourceLocator 类型的 bean 增加到疏导上下文(通过 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 的 Environment,即为咱们提供额定的属性起源的。它将曾经具备失常的 Spring Boot 提供的资源起源,因而您能够应用它们来定位特定于此 Environment 的属性源(例如通过将其绑定在 spring.application.name 上,如在默认状况下所做的那样 Config Server 属性源定位器)。

如果你在这个类中创立一个 jar,而后增加一个 META-INF/spring.factories 蕴含:

org.springframework.cloud.bootstrap.BootstrapConfiguration=sample.custom.CustomPropertySourceLocator
那么“customProperty”PropertySource 将显示在其类门路中蕴含该 jar 的任何应用程序中。

退出移动版