有沒有可能從java配置文件加載彈性配置文件?從java配置文件加載額外的彈簧配置文件
我知道我可以使用-Dspring.profile.active
參數並在application.properties中將配置文件添加到spring.profiles.include
。
我需要的是能夠從java配置文件激活配置文件。我創建了PropertyPlaceholderConfigurer,我在其中添加了一些自定義屬性文件,其中還包含屬性spring.profiles.include
,所有屬性均已加載並且工作正常,但spring不會使用此屬性激活任何包含屬性的配置文件。
@Bean
public static PropertyPlaceholderConfigurer ppc() throws IOException {
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
ppc.setLocations(new ClassPathResource("properties/" + property + ".properties"));
ppc.setIgnoreUnresolvablePlaceholders(true);
return ppc;
}
我試過'spring.profiles.active'和'spring.profiles.include'。當它包含默認的application.properties或配置文件特有的屬性文件時,它會自動工作,但是如果我使用PropertyPlaceholderConfigurer加載它,它會看到此屬性,但它不會激活它的任何配置文件。 –
你是絕對正確的。使用'spring.profiles.include'比重寫'spring.profiles.active'更適合您的需求。我認爲問題是添加一個「PropertyPlaceholderConfigurer」類型的新bean並不是正確的方法。我會編輯我的答案。 –