是否有可能从java config加载aditional spring配置文件?
我知道我可以使用-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;
}
答案 0 :(得分:1)
通过以下配置在属性中定义活动弹簧配置文件:i=2
。
您应该列出导入通过上述配置密钥激活的配置文件的所有文件。
修改强>
首先,根据official documentation,配置 // Combo
cb.addItem("--filler--");
cb.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
cb.removeAllItems();
for (int i = 1; i < corps.length; i += 2) {
String tempRes = corps[i];
System.out.println(tempRes);
cb.addItem(tempRes);
}
}
});
更适合无条件添加有效配置文件。
其次,我可以假设spring.profiles.active:
不适合您想要实现的目标。官方文档列出了Externalize Configuration的方法。您可以尝试使用spring.profiles.include
:
PropertyPlaceholderConfigurer
此外,您可以尝试按照here所述列出@PropertySource
内的属性@PropertySources({
@PropertySource(value = "classpath:application.properties"),
@PropertySource(value = "classpath:other.properties", ignoreResourceNotFound = true)
})
public class Application {
...
}
}
中的其他属性文件。