@Autowired與 @Resource區別

爲什麼程序在IDEA中會報錯咧?

其實這個程序是可以編譯並運行通過的,即:是可以Spring是可以通過該註解創建bean的,如果換成是@Resource,則不會報錯了。

此處便引出了問題:@Autowired與 @Resource區別

  1. @Autowired是Spring的註解,@Resource是J2EE的註解,導入註解的時候這兩個註解的包名不一樣
  2. @Autowired默認按照byType方式進行bean匹配
    @Resource默認按照byName方式進行bean匹配,找不到再按type去匹配。

共同點: @Autowired與@Resource都可以用來裝配bean. 都可以寫在字段上,或寫在setter方法上。

總結:

  1.  @Autowired默認按類型裝配(這個註解是屬業spring的),默認情況下必須要求依賴對象必須存在,如果要允許null值,可以設置它的required屬性爲false,如:@Autowired(required=false) ,如果我們想使用名稱裝配可以結合@Qualifier註解進行使用。
  2.  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章