Autowired註解有錯誤提示

2021-09-27 07:16:26 字數 621 閱讀 7887

1、用@resource註解替換@autowired註解,錯誤消失

2、@autowired(required = false)   設定required 屬性值為 false,錯誤消失

@resource註解與@autowired註解的異同點

這兩個註解都是用作bean的注入時使用,都是為乙個物件變數省去寫get,set方法,自動為這個物件注入例項化物件(即注入依賴)注入的方式還是有所區別的 :

@autowired是基於spring的註解org.springframework.beans.factory.annotation.autowired,它預設是按型別進行的裝配的,如果想要它按名字進行裝配則需在@autowired下面新增@qualifier("name")`註解,都無法找到唯一的乙個實現類的時候報錯。@autowired註解預設情況下必須要求依賴物件必須存在,如果要允許null值,則應該設定它的required屬性為false,

@resource 是基於j2ee的註解(可以減少了與spring的耦合),(jdk1.6以上支援)預設是按名字進行註解,若不指定裝配bean的名字,當註解寫在字段上時,預設取欄位名,按照名稱查詢通過set方法進行裝配,倘若有多個子類,則會報錯。需要注意的是name屬性一旦指定,就只會按照名稱進行裝配

spring註解之 Autowired註解 二

我們繼續修改userservice把 autowired註解加在userservice對應的構造方法上如下 service public class userservice 增加乙個tostring方法 方便測試 override public string tostring 執行測試我們可以發現u...

Resource與 Autowired註解的區別

一 resource注入 現在有乙個介面human和兩個實現類manimpl womanimpl,在service層的乙個bean中要引用了介面human,這種情況處理如下 介面human public inte ce human public void walk 實現類womanimpl serv...

Spring 註解 Autowired原理

在啟動spring ioc時,容器會自動裝載autowiredannotationbeanpostprocessor後置處理器 public class autowiredannotationbeanpostprocessor extends instantiationawarebeanpostpr...