![](/img/trans.png)
[英]Setting “spring.config.name” property programmatically does not work
[英]Spring Boot ignores spring.config.name/location properties
我有一個非常簡單的application.yml
文件:
spring:
config:
name: android,ios,test,web
我希望能夠命名諸如android.yml
這樣的配置文件並將其放入
classpath:/,classpath:/config/,file:./,file:./config/
如ConfigFileApplicationListener
類中指定的DEFAULT_SEARCH_LOCATIONS
常量一樣。 我在與主配置相同的目錄中創建了一個文件:
android:
clientId: 0
clientSecret: clientSecret
然后,我用一種方法編寫了一個@Configuration
類,以通過@ConfigurationProperties
獲取ClientDetails
的實例:
@Configuration
public class TrustedClientInformationConfiguration {
@Bean(name = ANDROID)
@ConfigurationProperties(prefix = ANDROID)
public ClientDetails getAndroidClientDetails() {
return new BaseClientDetails();
}
}
不幸的是,在自動裝配之后,我得到了帶有未填寫字段的實例。 我錯過了什么?
EDIT1:我發現並調試了使用CONFIG_NAME_PROPERTY = "spring.config.name"
的方法(這只是一種用法), containsProperty
條件始終返回false
:
private Set<String> getSearchNames() {
if (this.environment.containsProperty(CONFIG_NAME_PROPERTY)) {
return asResolvedSet(this.environment.getProperty(CONFIG_NAME_PROPERTY),
null);
}
return asResolvedSet(ConfigFileApplicationListener.this.names, DEFAULT_NAMES);
}
EDIT2:嘗試通過將屬性移動到每個受信任客戶端的單獨文件來創建oauth2客戶端配置。 盡管配置文件處於活動狀態,但應始終實例化它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.