1
A
回答
2
首先在參考文檔中檢查4.9.1 @Required。恕我直言,自動裝配如此常用,這種註釋的使用受到限制。
這是在XML日子相當不錯 - 如果你忘了定義XML <property name="movieFinder" .../>
但記得把@Required
周圍movieFinder
場或setter,春天會拋出異常。
請注意,這個註釋並不能爲您解決最常見的Spring新手錯誤 - 使用容器控件之外的new
運算符手動創建一個bean。 Spring必須對bean進行後處理,並且只有當註釋的類實際上由容器創建時(但依賴關係未被注入)時才拋出異常。
這些日子裏,你只是標註的那場與@Autowired
/@Resource
/@Inject
,如果未發現豆(否則離開null
)拋出異常(沒有這樣的豆或類似)。如果你可以放@Required
註釋,什麼能夠防止你用@Autowired
替換它,並完全擺脫XML?
這就是說,對於一些@Required
可能有一個很好的文檔價值。
1
這是爲了防止大部分開發人員的錯誤。
有時候開發商覺得這事會在實際上不是那裏的原因過多,包括上下文:
- 只需忘了加上豆
- 相關問題(當從依賴組件自動識別)
- 類型/包誤解
在這種情況下,它是更好後來上下文負載,而不是像一個NPE東西失敗。
相關問題
- 1. 什麼可能導致cookie不會在$ _COOKIE中設置$ _SERVER
- 2. 春季Bean依賴注入
- 3. 春季3,從依賴
- 4. 春季依賴關係
- 5. 爲什麼Maven依賴排除不會導致編譯錯誤?
- 6. Java爲什麼不依賴常量會導致重新編譯?
- 7. 不能設置在春季啓動1.4
- 8. 爲什麼在AngularJS中添加依賴項會導致錯誤?
- 9. 是什麼導致循環依賴?
- 10. 春季不能設置模擬類
- 11. 什麼可能會導致InvocationTargetException和ClassCastException:
- 12. 春季啓動gradle插件messes常春藤依賴配置?
- 13. 爲什麼autowiring jdbctemplate會導致循環依賴?
- 14. 春季雲偵探+春季啓動1.4.0傳遞依賴問題
- 15. 春季啓動配置自動裝配Autowired不作爲依賴
- 16. 春季啓動包括傳遞依賴
- 17. 春季批次3.0.2依賴與javax.batch.runtime.JobInstance
- 18. 春季數組依賴注入?
- 19. 春季批次:作業依賴關係
- 20. 什麼可能導致xmlrpclib.ResponseError:ResponseError()?
- 21. 什麼可能導致System.TypeLoadException?
- 22. 什麼可能導致java.lang.reflect.InvocationTargetException?
- 23. 在ThreadLocal的春季JMX設置的值工作不一致
- 24. 依賴屬性不會設置
- 25. 什麼可能導致select()不返回?
- 26. Java依賴不會導入
- 27. 什麼在春季啓動
- 28. 什麼問題可能會導致nib文件的所有者設置爲零?
- 29. 爲什麼不設置clearTaskOnLaunch =「true」會導致OnCreate被調用?
- 30. 設置SBT依賴關係時,%和%%運算符會做什麼?
+1對於很好的解釋。只是想知道在使用XML來定義bean(而不是簡單的註釋)並使用像@ @ Required這樣的註釋的情況下,這可能是一種情況嗎?如果你使用註解來定義bean,那麼'@ Required'將如何來拯救? – xyz 2012-07-09 16:34:32
@Ajinkya:再次恕我直言,如果你已經開始使用註釋,完全去爲他們。正如我上面所寫的,如果您使用註釋,默認情況下,如果未找到bean,則它們會引發異常。所以'@必需的'是多餘的。 – 2012-07-09 16:35:54
那麼你會如何配置一個對象從外部庫只使用註釋? – smp7d 2012-07-09 16:38:40