Autowired 註解詳情 java

2021-09-25 03:36:35 字數 853 閱讀 7728

autowired(自動裝配)

spring 2.5引入。spring3.0後,自動裝配策略分bytype、byname、constructor三種方式。

@autowired註解可以對類成員變數、方法、建構函式進行標註,完成自動裝配功能。

@autowired 根據型別(type)進行自動注入,預設注入單例(singleton)的bean。就是乙個。    如果發現找到有很多bean,則按照byname方式對比獲取,若有名稱一樣的則可以加上@qualifier("***")配置使用。若非必須裝配則可以設定required=false。

如果需要兩個同型別的注入的話,不可以僅用@autowired標籤,否則就會每次注入的例項,就是同乙個例項。

注入介面型別的例項時候,兩種同型別的注入

這種情況下,採取下列方式:

1.可以使用@primary這個註解來確定例項的優先權。

2.採用讓@autowired根據name去自動注入。(name要和屬性名一致)

@autowired

private company a;

@autowired

private company b;

@service("a")

public class smile implements company {

@service("b")

public class cry implements company {

建議tips:註解autowired先預設使用bytype來自動裝配,如果存在型別的多個例項就嘗試使用byname匹配,如果通過byname也確定不了,可以通過primary和priority註解來確定。

這裡不是特別深入。如果有機會再深入原始碼。

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...