2013-11-02 43 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

相關問題