让此类覆盖另一个 Config 类中已设置的 @PropertySource。
@Configuration
@PropertySource({ "classpath:${env.placeholder}/app.properties" })
public class PropertyOverrideConfig {
}
但是,只要文件或占位符丢失,就会导致上下文加载失败。我需要为该注释加载属性设置以下标志,以便在找不到该属性时跳过。
setIgnoreResourceNotFound(true);
setIgnoreUnresolvablePlaceholders(true);
问题1:为@PropertySource 设置这些标志的适当方法是什么?
更新: 尝试将@Bean 添加到同一个类而没有该注释引用此页面,它也没有选择属性文件。我没有xml配置。
@Bean
public static PropertySourcesPlaceholderConfigurer properties() {
final PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer();
Resource[] resources = new ClassPathResource[ ] {
new ClassPathResource( "classpath:${env.placeholder}/app.properties" ) };
pspc.setLocations( resources );
pspc.setIgnoreResourceNotFound(true);
pspc.setIgnoreUnresolvablePlaceholders(true);
return pspc;
}
问题2:我确定我错过了一些东西,但无法弄清楚它是什么,任何帮助都会很棒。