@Resource和@Autowired都有相同作用椿争,但他們的匹配規(guī)則不一樣
@Autowired只是byType進行裝配
@Resource既可以根據(jù)byType,也可以byName
@Resource裝配順序:
①如果同時指定了name和type,則從Spring上下文中找到唯一匹配的bean進行裝配淤毛,找不到則拋出異常负芋。
②如果指定了name,則從上下文中查找名稱(id)匹配的bean進行裝配调窍,找不到則拋出異常宝冕。
③如果指定了type,則從上下文中找到類似匹配的唯一bean進行裝配邓萨,找不到或是找到多個地梨,都會拋出異常。
④如果既沒有指定name缔恳,又沒有指定type宝剖,則自動按照byName方式進行裝配;如果沒有匹配歉甚,則回退為一個原始類型進行匹配诈闺,如果匹配則自動裝配。
@Resource的作用相當(dāng)于@Autowired铃芦,只不過@Autowired按照byType自動注入雅镊。