讓Bean獲取Spring容器

2021-08-09 21:36:52 字數 738 閱讀 2732

實現beanfactoryaware介面的bean,擁有訪問beanfactory容器的能力,實現beanfactoryaware介面的bean例項被容器建立後,它會擁有乙個引用,該引用指向建立它的beanfactory。

beanfactoryaware介面只有乙個方法:setbeanfactory(beanfactory beanfactory)  該方法有乙個引數beanfactory,該引數指向建立它的beanfactory。

package demo;

import org.springframework.beans.bean***ception;

//將beanfactory容器以成員變數儲存

@override

throws bean***ception

return ctx;

}}

將該bean部署在spring容器中,部署該bean與部署其他bean沒有任何區別。

<?xml version="1.0" encoding="utf-8"?>

測試

package demo;

public class test

}

結果

spring容器外部獲取容器內部bean

1.定義工具類springutil的靜態方法和靜態引用。3.spring容器會在建立該物件過程中,將自身引用注入物件中 component註解,讓spring掃瞄到該bean 1.編寫springutil import org.springframework.beans.bean ception i...

Spring 實踐 獲取bean

spring在初始化時容器會根據配置檔案初始化所有配置的bean。在使用時有兩種常用方法可以在 中獲取例項。系統會自己根據名稱 型別去容器裡查詢對應的類並且注入,前提適用的場景必須是被spring所掃瞄到的類,且被注入到容器裡。換句話說就是 1 被spring掃瞄到。2 類被註解標記。在專案中,會遇...

spring獲取bean物件(六)

下面我們接著abstractbeanfactory的dogetbean中方法,如果未從快取中獲取到例項物件就會進入到下面方法 if mbd.issingleton catch bean ception ex bean getobjectforbeaninstance sharedinstance,n...