在Spring中添加“PropertySourcesPlaceholderConfigurer”作为bean的目的是什么? 。据我所研究,当你将属性文件命名为application.properties时,spring会在src / main / resources文件夹中自动获取该文件。这样,当我删除PropertySourcesPlaceholderConfigurer的Bean声明时,它说无法自动装配该属性。
我错过了什么,没有PropertySourcesPlaceholderConfigurer
,为什么它不起作用样本1:
@Configuration
@PropertySource(value = { "application.properties" }, ignoreResourceNotFound = true)
@ComponentScan(basePackages = { Some Package })
public class ApplicationConfig {
ApplicationConfig() {
}
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
示例1工作正常,当我删除@PropertySources
和@PropertySourcesPlaceholderConfigurer
bean时,因为spring会自动选择application.properties
,但它不起作用。
答案 0 :(得分:0)
它说当你将属性文件命名为application.properties时, spring会在文件进入时自动获取文件 src / main / resources文件夹
据我所知 - 这只适用于Spring Boot。 对于弹簧核心,您应该在contxet中定义prps。 有几种方法。 在xml中
< context:property-placeholder location="classpath:application.properties" />
或使用Java注释
@Configuration
@PropertySource("classpath:application.properties")
自Spring 4.3RC2
以来,没有必要定义PropertySourcesPlaceholderConfigurer