前言
spring框架對bean進行裝配提供了很靈活的方式,下面歸納一下主要的方式:
而自動裝配實現就需要註解掃瞄,這時發現了兩種開啟註解掃瞄的方式,即和
下面歸納一下這兩種方式的異同點:
:註解掃瞄是針對已經在spring容器裡註冊過的bean
:不僅具備的所有功能,還可以在指定的package下面掃瞄對應的bean
demo:
demo:xml註冊bean方式
下面給出兩個類,類a和類b
package com.test;
pubic class b
}package com.test;
public class a
public a()
}如何我們這時可以通過傳統的xml配置在application.xml裡進行bean註冊
啟動載入application.xml
輸出:類b
類a通過set的方式注入b類
demo:annotation配置註解開啟方式
package com.test;
pubic class b
}package com.test;
public class a
public a()
}然後我們需要在application.xml裡註冊bean,假如我們先這樣配置,僅僅註冊bean,不開啟掃瞄
或者僅僅開啟掃瞄,不註冊bean
這時載入application.xml配置
輸出:類b
類a我們會發現下面的@autowired的方法是不能被載入的
@autowired
public void setbclass(b bclass)
解決方法:
修改application.xml配置檔案
重新載入配置檔案,輸出正常了
輸出:類b
類a通過set的方式注入b類
歸納::註解掃瞄是針對已經在spring容器裡註冊過的bean
demo:component配置註解開啟方式
package com.test;
pubic class b
}package com.test;
@component
public class a
public a()
}然後我們配置一下application.xml,開啟annotaion-config掃瞄
載入配置檔案:
輸出:類b
類a原因::註解掃瞄是針對已經在spring容器裡註冊過的bean,bean並沒有註冊過,所以即使開啟了@autowired、@component註解 和配置開啟了annotaion-config掃瞄還是載入不到
修改配置檔案:
重新載入配置檔案:
輸出:類b
類a通過set的方式注入b類
歸納::註解掃瞄是針對已經在spring容器裡註冊過的bean
:不僅具備的所有功能,還可以在指定的pack程式設計客棧age下面掃瞄對應的bean
和 同時存在的時候,前者會被忽略。
即使註冊bean,同時開啟掃瞄,@autowire,@resource等注入註解只會被注入一次,也即只載入一次
本文標題: 詳解spring框架註解掃瞄開啟之配置細節
本文位址: /ruanjian/j**a/199751.html
Spring框架的註解詳解
註解 說明 component 建立該類的bean物件,然後存入ioc容器中 repository 建立持久層類的bean物件,然後存入ioc容器中 service 建立業務層類的bean物件,然後存入ioc容器中 controller 建立表現層類bean物件,然後存入ioc容器中 autowir...
spring框架詳解 五 AOP註解形式
前面講了aop的xml形式,這裡說明下其註解形式,我們在啟動tomcat伺服器的時候,大家都會發現從這裡面可以看到記載的紅色日誌資訊如下圖,那麼我們如何自己定義日誌呢,直接從案例中說明.定義乙個記載加減乘除的日誌狀態 準備工作 1.新建乙個xml檔案拿來包掃瞄,自動注入 通過aop命名空間的宣告自動...
spring 註解掃瞄bean配置
spring公共配置 spring 會自動掃瞄com.zghw下的spring註解 常用註解 定義bean的註解 controller controller bean的名稱 定義控制層bean,如action service service bean的名稱 定義業務層bean repository ...