Spring Cloud自定義引導屬性源

引導過程添加的外部配置的默認屬性源是Config Server,但您能夠經過將PropertySourceLocator類型的bean添加到引導上下文(經過spring.factories)添加其餘源。您能夠使用此方法從其餘服務器或數據庫中插入其餘屬性。java

做爲一個例子,請考慮如下微不足道的自定義定位器:spring

@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是要建立的ApplicationContextEnvironment,即爲咱們提供額外的屬性來源的。它將已經具備正常的Spring Boot提供的資源來源,所以您能夠使用它們來定位特定於此Environment的屬性源(例如經過將其綁定在spring.application.name上,如在默認狀況下所作的那樣Config Server屬性源定位器)。數據庫

若是你在這個類中建立一個jar,而後添加一個META-INF/spring.factories包含:bootstrap

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

那麼「customProperty」PropertySource將顯示在其類路徑中包含該jar的任何應用程序中。服務器

完整項目的源碼來源 技術支持1791743380app

相關文章
相關標籤/搜索