2
我想知道是否有任何編程方式全部春季配置文件名稱,活動和不活動?如何獲取所有Spring配置文件名稱?
有幾個問題只需要活動配置文件的名稱。我的問題沒有回答這樣的問題,因爲我還需要不活動的配置文件的名稱。
原因:我想在下拉菜單中顯示所有這些配置文件名稱,用戶可以從中選擇要使用的配置文件。
我想知道是否有任何編程方式全部春季配置文件名稱,活動和不活動?如何獲取所有Spring配置文件名稱?
有幾個問題只需要活動配置文件的名稱。我的問題沒有回答這樣的問題,因爲我還需要不活動的配置文件的名稱。
原因:我想在下拉菜單中顯示所有這些配置文件名稱,用戶可以從中選擇要使用的配置文件。
有沒有這樣的事情。
當Spring初始化一個ApplicationContext
時,它維護活動配置文件,這些配置文件很容易從系統屬性spring.profiles.active
中檢索。
當它通過組件註冊相應的bean定義時,它會檢查組件是否匹配某些Condition
對象集。其中之一是一個ProfileCondition
,這是
Condition
該匹配基於一個@Profile
註解的值。
例如,如果您有相關@Profile
@Bean
@Profile("foo-profile")
public Foo foo() {
return new Foo();
}
春天註釋將使用ProfileCondition
匹配foo-profile
防範主動配置文件的@Bean
方法。如果沒有匹配,Spring將跳過這個bean定義。
它從來沒有實際存儲所有可能的@Profile
值。
對於誰投下了票,誰能解釋你爲什麼這樣做?我認爲這是一個公平的問題。 – Ahmad
*啓動*配置文件被加載*啓動*。未加載配置文件。另外,您無法在運行時更改活動配置文件。它需要重新啓動應用程序,或者更確切地說是重新裝載彈簧容器,例如,請參閱http://stackoverflow.com/q/28541138/5221149。 – Andreas
這對我來說也是一個公平的問題。我想爲命令行應用程序顯示所有可能的配置文件。不帶任何參數調用該命令將列出所有配置文件。對於下一個命令執行,用戶可以從控制檯輸出中顯示的列表中提供參數。 –