2013-11-02 20 views
0

我有一个A类,带有用@Value注解的日期字段,以当前日期的默认值。@Value如何在SpEL中工作?

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

当我在一个测试类的主体中使用新的A()创建一个新对象时,该字段为空。

我的问题是@Value是如何工作的。在文档中,它表示它给一个字段提供了一个默认值,但它只对bean有效吗?它是如何处理的?

+3

是的,只有Spring管理的bean才会注入'@ Value'注释字段的值。 –

回答

2

当使用XML文件创建bean 时,Spring创建bean并通过XML配置应用注入配置字段,或者通过注释(例如注释)进行修饰。 @Autowired,@Value等...

当使用new YourClass创建bean时,则手动创建该类的实例,从而不会被Spring处理。

如果您希望Spring根据需要处理创建的新豆,即使用new关键字,您可以参考Spring injecting or autowiring datasource bean to class,点3和底部的解释使用@Configurable

相关问题