spring原始碼分析之FactoryBean

2021-10-05 11:16:48 字數 984 閱讀 4715

一般情況下,我們spring採用反射來例項化物件,可是spring也提供了另一種方式,既通過實現factorybean來描述bean的例項化過程。

public

inte***ce

factorybean

介面描述很簡單

獲取bean, 獲取bean的型別, 是否是單例

public

class

carpublic

void

setmaxspeed

(int maxspeed)

public string getbrand()

public

void

setbrand

(string brand)

public

double

getprice()

public

void

setprice

(double price)

}public

class

ca***ctorybean

implements

factorybean

@override

public class<

?>

getobjecttype()

@override

public

boolean

issingleton()

}

之後我們就可以把ca***ctorybean定義到到容器中就可以獲取對應car的單例了

若是想獲取ca***cotrybean本身需要在通過name訪問時在name前面加上&, 如下

ca***cotrybean foctorybean =

(ca***ctorybean)

getbean

("&car"

);

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

Spring 原始碼分析

public throws bean ception 到這裡最終的方法就是refresh super只是做一些初始化工作,可以忽略。以下是初始化發放做的事情 debug main adding systemproperties propertysource with lowest search pr...

spring原始碼分析

spring源 解析 一 ioc容器 url spring源 解析 二 ioc容器在web容器中的啟動 url spring源 解析 三 spring jdbc url spring源 解析 四 spring mvc url spring源 解析 五 spring aop獲取proxy url sp...