spring3.0注释

时间:2011-12-16 10:21:37

标签: java spring

我有一个属性文件converterValues.properties,这些数据的值为valueOne = 1,valueTwo = 2   我正在尝试使用注释

@Value("#{converterValues.valueOne}")
private transient String dataValue;

我想一次加载所有属性,而不是每次使用converterValues.valueOne加载

让我知道如何使用注释一次获取valueOne = 1,valueTwo = 2。

我想避免为每个键定义@value。

1 个答案:

答案 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;