什么是SpringIOC底層實現(xiàn)原理
1.讀取bean的XML配置文件
2.使用beanId查找bean配置立宜,并獲取配置文件中class地址舆瘪。
3.使用Java反射技術(shù)實例化對象
4.獲取屬性配置,使用反射技術(shù)進行賦值案淋。
詳細(xì)步驟
1.利用傳入的參數(shù)獲取xml文件的流,并且利用dom4j解析成Document對象
2.對于Document對象獲取根元素對象后對下面的標(biāo)簽進行遍歷,判斷是否有符合的id.
3.如果找到對應(yīng)的id,相當(dāng)于找到了一個Element元素,開始創(chuàng)建對象,先獲取class屬性,根據(jù)屬性值利用反射建立對象.
4.遍歷標(biāo)簽下的property標(biāo)簽,并對屬性賦值.注意,需要單獨處理int,float類型的屬性.因為在xml配置中這些屬性都是以字符串的形式來配置的,因此需要額外處理.
5.如果屬性property標(biāo)簽有ref屬性,說明某個屬性的值是一個對象,那么根據(jù)id(ref屬性的值)去獲取ref對應(yīng)的對象,再給屬性賦值.
6.返回建立的對象,如果沒有對應(yīng)的id,或者下沒有子標(biāo)簽都會返回null