Autowired在沒有加註解的類裡面無法生效

2022-07-14 18:00:16 字數 264 閱讀 8960

如果乙個類沒有加註解如@component, @controller, @service等掃瞄這個類到容器中

在類中的變數加@autowired註解無法生效。

因為如果乙個類new物件生成的,那麼這個類就不歸spring容器管理,ioc等spring的功能也就無法使用了。

如果某個類沒有加@component, @controller, @service這些註解,可以在spring的xml檔案配置該類的bean,這樣@autowire也可以生效

分割線:

Spring的 Autowired註解的詳細解釋

使用 autowired 註解進行裝配,只能是根據型別進行匹配。autowired 註解可以用於 setter 方法 建構函式 字段,甚至普通方法,前提是方法必須有至少乙個引數。autowired 可以用於陣列和使用泛型的集合型別。然後 spring 會將容器中所有型別符合的 bean 注入進來。a...

spring的 Autowired註解的使用

autowired是用於為屬性從容器中自動注入組建 autowired可以標註的位置 1 標註在方法上 標註在屬性的set方法上 當使用bean註解在容器中注入組建是,不需要標註 autowired也可以自動注入 bean public bookservice bookservice2 bookda...

Autowired註解在抽象類中失效的原因及解決

最近在工作中遇到這個問題,在抽象類中使用autowired這個註解,注入mybatis的dao時,總是出現空指標異常,通過日誌的列印,發現是這個dao注入失敗為空。然後通過new出spring上下文物件,再去呼叫getbean 方法,獲取到這個注入的dao,這樣是可行的,但是總是覺得這不是最佳實踐,...