詳解Spring框架註解掃瞄開啟之配置細節

2022-10-07 09:09:09 字數 1667 閱讀 3172

前言

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