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'註釋字段的值。 –