我的xml文件中有以下配置文件:
<util:properties id="apiConfigurator" location="classpath:api.properties" scope="singleton"/>
这是我的属性文件:
appKey=abc
appSecret=def
在春季班上,我得到了一些像这样的值:
@Value("#{apiConfigurator['appKey']}")
我想在Spring中创建一个
@Configuration
类以以下方式解析属性文件:@Value("#{apiConfigurator['appKey']}")
在使用该类的我的课程中仍然可以正常工作。我该怎么做呢?
最佳答案
当您指定
<util:properties .../>
Spring用您也指定的名称/ id注册一个
PropertiesFactoryBean
bean。您需要做的就是自己提供一个
@Bean
// it's singleton by default
@Bean(name = "apiConfigurator") // this is the bean id
public PropertiesFactoryBean factoryBean() {
PropertiesFactoryBean bean = new PropertiesFactoryBean();
bean.setLocation(new ClassPathResource("api.properties"));
return bean;
}