如何为bean的原始属性设置值?
由于我们有@Component
注释,@Autowired
注释也用于绑定实例依赖,那么基本属性呢?
@Component
class Person{
@Autowired
Address address;
int age /// what about this one?
}
答案 0 :(得分:4)
对于基元,您可以使用@Value
注释。通常情况是让PropertyPlaceholderConfigurer
加载属性文件中的值,然后@Value("${property.key}")
您还可以将您的值定义为bean,这是更老的学校:
<bean id="foo" class="java.lang.Integer" factory-method="valueOf">
<constructor-arg value="20" />
</bean>
然后
@Autowired
@Qualifier("foo")
private int foo;
答案 1 :(得分:2)
我尝试了Bozho建议的第二种方法。它似乎不起作用。
下面的一个正在运作。 将bean定义为:
<bean id="foo" class="java.lang.Integer" factory-method="valueOf">
<constructor-arg value="20" />
</bean>
然后
@Autowired
@Qualifier("foo")
private java.lang.Integer foo;
OR
@Autowired
private java.lang.Integer foo;