Spring Cloud自定義引導屬性源

bug不存在的發表於2021-10-08

引導過程新增的外部配置的預設屬性源是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的任何應用程式中。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007877/viewspace-2794997/,如需轉載,請註明出處,否則將追究法律責任。

相關文章