0
我有一个A类,带有用@Value注解的日期字段,以当前日期的默认值。@Value如何在SpEL中工作?
当我在XML文件中创建一个bean时,如预期的那样,该字段似乎用当前日期初始化。
当我在一个测试类的主体中使用新的A()创建一个新对象时,该字段为空。
我的问题是@Value是如何工作的。在文档中,它表示它给一个字段提供了一个默认值,但它只对bean有效吗?它是如何处理的?
我有一个A类,带有用@Value注解的日期字段,以当前日期的默认值。@Value如何在SpEL中工作?
当我在XML文件中创建一个bean时,如预期的那样,该字段似乎用当前日期初始化。
当我在一个测试类的主体中使用新的A()创建一个新对象时,该字段为空。
我的问题是@Value是如何工作的。在文档中,它表示它给一个字段提供了一个默认值,但它只对bean有效吗?它是如何处理的?
当使用XML文件创建bean 时,Spring创建bean并通过XML配置应用注入配置字段,或者通过注释(例如注释)进行修饰。 @Autowired
,@Value
等...
当使用new YourClass
创建bean时,则手动创建该类的实例,从而不会被Spring处理。
如果您希望Spring根据需要处理创建的新豆,即使用new
关键字,您可以参考Spring injecting or autowiring datasource bean to class,点3和底部的解释使用@Configurable
。
是的,只有Spring管理的bean才会注入'@ Value'注释字段的值。 –