spring ioc
指的是控制反轉,ioc容器負責例項化、定位、配置應用程式中的物件及建立這些物件間的依賴。交由spring來管理這些,實現解耦
使用反射機制+xml技術
手寫spring專題 xml方式注入bean
/** *
手寫spring
專題xml
方式注入
bean
* *
*/publicclass
// xml
路徑位址
privatestring
xmlpath;
public
xmlpath)
publicobject getbean(string
beanid
)throwsexception
// 2.
使用beanid
查詢對應的
class
位址 string
beanclass
= findxmlbyidclass(
elements
, beanid
);if(stringutils.isempty(
beanclass
)) // 3.
使用反射機制初始化,物件
class<?>
forname
= class.forname(
beanclass
);returnforname
.newinstance(); }
// 讀取配置檔案資訊
publiclistreaderxml()throwsdocumentexception
document
read
= saxreader
.read(getclassxmlinputstream(
xmlpath
)); //
獲取根節點資訊
element
rootelement
= read
.getrootelement();
// 獲取子節點
list
elements
= rootelement
.elements()
;if(
elements
==null||
elements
.isempty())
returnelements; }
// 使用beanid
查詢該class
位址publicstring findxmlbyidclass(list
elements
, string
beanid
)throwsexception
if(!
beanidvalue
.equals(
beanid
)) //
獲取class
位址屬性
string
classpath
= element
.attributevalue(
"class"
);if(!stringutils.isempty(
classpath
)) }
returnnull; }
// 讀取
xml配置檔案
publicinputstream getclassxmlinputstream(string
xmlpath)
} 測試:public class test002
}
Spring IOC實現原理
ioc 控制反轉,通俗來說就是把物件的建立不是通過new的方式實現,而是交給spring配置檔案來建立類的物件。開發思想 高內聚,低耦合 ioc實現原理 需求 實現在userservlet中來得到userservice類的物件 第一步 建立xml配置檔案,配置要建立的物件類userservice 第...
SpringIOC實現原理
假設我們設計一輛汽車 先設計輪子,然後根據輪子大小設計底盤,接著根據底盤設計車身,最後根據車身設計好整個汽車。這裡就出現了乙個 依賴 關係 汽車依賴車身,車身依賴底盤,底盤依賴輪子。這樣的設計看起來沒問題,但是可維護性卻很低。假設設計完工之後,上司卻突然說根據市場需求的變動,要我們把車子的輪子設計都...
手寫spring IOC容器
基本思路 解析xml配置檔案 根據配置的生成相應的物件 將物件存入ioc容器 ioc容器實現 1.0 encoding utf 8 address class com.example.xmlsax reader.entity.address city value fuzhou user class ...