aware,即感知,是spring ioc的乙個特性,當實現了對應的aware介面時,beanfactory工廠會在生產bean時給bean注入對應的屬性,即為該bean增強一定功能。
aware類繼承圖如下
從上圖可以看出aware的所有子類介面,以下列出幾個主要子類介面作用。
beanclassloaderaware:給實現該介面的bean注入該類的類載入器。
beanfactoryaware:給實現該介面的bean注入當前beanfactory容器,此時該bean就持有beanfactory容器功能。
beannameaware:給實現該介面的bean注入bean的名稱。
package com.test.aware;
import org.springframework.beans.bean***ception;
import org.springframework.beans.factory.beannameaware;
private string beanname;
throws bean***ception
} public void setbeanname(string name)
public string getbeanname()
}
建立bean.xml檔案,內容如下
<?xml version="1.0" encoding="utf-8"?>建立junit測試**
/**
* 測試aware感知特性
*/@test
public void testaware()
測試結果如下
源**如附件
Spring高階話題 Aware
一 aware是什麼?spring aware就是一些定義了spring容器本身功能資源的介面 spring提供的aware介面 介面備註 beannameaware 獲得到容器中bean的名稱 beanfactoryaware 獲得當前 bean factory,這樣可以呼叫容器的服務 messa...
Spring中的Aware介面
spring中提供了一些以aware結尾的介面,實現了aware介面的bean在被初始化後,可以獲取相應資源。通過aware介面,可以對spring相應資源進行操作 一定要慎重,因為可能修改spring核心類 aware有以下介面 介面作用 beannameaware 在bean中得到它在ioc容器...
Spring中Aware系列介面
一 ioc容器管理bean,bean在ioc容器中。那麼bean知不知道自己在ioc容器中的代號 id 呢?bean知不知道自己在哪個ioc容器中?能否通過bean獲取它的ioc容器物件呢?簡單來說就是 bean是否對spring有知覺 答 單純的bean 未實現aware系列介面 是沒有知覺的 實...