一般情況下,我們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...