SpringIoc底層實現(xiàn)原理

什么是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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末座韵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子踢京,更是在濱河造成了極大的恐慌誉碴,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓣距,死亡現(xiàn)場離奇詭異黔帕,居然都是意外死亡,警方通過查閱死者的電腦和手機蹈丸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門成黄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逻杖,你說我怎么就攤上這事奋岁。” “怎么了荸百?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵闻伶,是天一觀的道長。 經(jīng)常有香客問我够话,道長蓝翰,這世上最難降的妖魔是什么光绕? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮畜份,結(jié)果婚禮上诞帐,老公的妹妹穿的比我還像新娘。我一直安慰自己爆雹,他們只是感情好停蕉,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著顶别,像睡著了一般谷徙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驯绎,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天完慧,我揣著相機與錄音,去河邊找鬼剩失。 笑死屈尼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拴孤。 我是一名探鬼主播脾歧,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼演熟!你這毒婦竟也來了鞭执?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤芒粹,失蹤者是張志新(化名)和其女友劉穎兄纺,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體化漆,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡估脆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了座云。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疙赠。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖朦拖,靈堂內(nèi)的尸體忽然破棺而出圃阳,到底是詐尸還是另有隱情,我是刑警寧澤璧帝,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布捍岳,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏祟同。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一理疙、第九天 我趴在偏房一處隱蔽的房頂上張望晕城。 院中可真熱鬧,春花似錦窖贤、人聲如沸砖顷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滤蝠。三九已至,卻和暖如春授嘀,著一層夾襖步出監(jiān)牢的瞬間物咳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工蹄皱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留览闰,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓巷折,卻偏偏與公主長得像压鉴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子锻拘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理油吭,服務(wù)發(fā)現(xiàn),斷路器署拟,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 1.1 spring IoC容器和beans的簡介 Spring 框架的最核心基礎(chǔ)的功能是IoC(控制反轉(zhuǎn))容器婉宰,...
    simoscode閱讀 6,701評論 2 22
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,313評論 1 92
  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan閱讀 4,128評論 2 7
  • “這世上本沒有雞湯芯丧,雞被弄死了芍阎,變做成了雞湯”摘自《即刻》APP網(wǎng)友——長歌行呀 “砍了樹做成了紙,在紙上面寫著愛...
    她是小何_閱讀 346評論 0 0