@Value如何在SpEL中工作?

时间:2013-11-02 13:59:16

标签: java spring annotations spring-el

我有一个带有@Value注释日期字段的A类,将当前日期作为默认值。

当我在XML文件中创建bean时,此字段似乎使用当前日期初始化,如预期的那样。

当我在测试类的main中创建一个带有新A()的新对象时,该字段为空。

我的问题是@Value是如何工作的。在文档中,它说它为字段提供了一个默认值,但是它是否仅适用于bean?它是如何处理的?

1 个答案:

答案 0 :(得分:2)

使用XML文件创建bean 时,Spring会创建bean并应用已配置字段的注入,通过XML配置或通过注释进行修饰,例如: @Autowired@Value等等......

使用new YourClass创建bean时,您手动创建类的实例,因此Spring不会处理它。

如果您希望Spring处理按需创建的新bean,即使用new关键字,您可以使用@Configurable引用Spring injecting or autowiring datasource bean to class,第3点和底部的说明。