我有一个属性文件converterValues.properties,这些数据的值为valueOne = 1,valueTwo = 2 我正在尝试使用注释
@Value("#{converterValues.valueOne}")
private transient String dataValue;
我想一次加载所有属性,而不是每次使用converterValues.valueOne加载
让我知道如何使用注释一次获取valueOne = 1,valueTwo = 2。
我想避免为每个键定义@value。
答案 0 :(得分:0)
首先创建qualifier annotation,我们称之为@ConverterValues
。
然后使用给定的限定符声明类型为PropertiesFactoryBean
的bean。
<bean id="converterValues" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="classpath:path/to/properties" />
<qualifier value="your.package.ConverterValues" />
</bean>
现在您可以将属性注入到bean中:
@Autowired
@ConverterValues
private Properties converterValues;
<强>更新强>
当然,如果您愿意明确表达依赖关系,您可以跳过定义限定符的开销:
@Autowired
@Qualifier("converterValues") // the name of the bean to inject
private Properties converterValues;