国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Spring之旅--Spring管理bean的原理

2019-11-14 11:21:28
字體:
供稿:網(wǎng)友

        各位老少爺們,趕緊系緊安全帶,菜鳥開車,防止車速過快偷笑。言歸正傳,本篇文章呢,主要是來探討一下SPRing管理bean的原理。

       

        如上xml文件所示,通常我們在使用Spring管理系統(tǒng)應(yīng)用的組件時(shí),在Spring的核心配置文件中,配置上需要管理組件的信息就可以了,剩下的就都交于Spring框架了。但是我們不要滿足于用,更要知道其中的原理。知己知彼,百戰(zhàn)不殆。為了了解Spring框架如何管理bean的,接下來我們簡單模仿一下Spring 容器。

                        MyTestClassPathXMLapplicationContext類模仿了Spring 容器,仔細(xì)分析其中的代碼,可以知道,在這個(gè)容器類中,我主要做了以下幾個(gè)步驟:

        1. 讀取xml配置文件, 數(shù)據(jù)封裝到BeanDefinition。

        2. 將BeanDefinition對象存入list。

        3. 遍歷list, 通過反射產(chǎn)生對象并存入map。

        4. 調(diào)用getBean方法返回一個(gè)bean對象, 此bean對象為單例。

        讀取xml配置文件時(shí),我采用的是dom4j 的sax方法,并且通過xpath來匹配xml文檔中的節(jié)點(diǎn)。因此我們需要在項(xiàng)目中引入兩個(gè)jar包:dom4j-1.6.1.jar、jaxen-1.1-beta-6.jar。將這兩個(gè)jar扔到項(xiàng)目的lib文件夾下即可。當(dāng)我們解析完成xml文檔,并且將xml文檔中<bean>節(jié)點(diǎn)所配置的信息封裝到BeanDefinition對象中時(shí),接下來容器會(huì)通過這些封裝的配置信息,通過反射技術(shù),實(shí)例化bean對象,并存入一個(gè)Map集合。容器提供了一個(gè)getBean方法,在容器外部可以獲取到實(shí)例化后的bean對象。        容器類已經(jīng)模仿好了,那么接下來需要進(jìn)行實(shí)例測試了。事先我定義了一個(gè)接口,并且編寫實(shí)現(xiàn)類實(shí)現(xiàn)了這個(gè)接口,代碼如下。                編寫測試用例,我采用的是單元測試框架junit4進(jìn)行測試單元測試,測試用例代碼如下。                以上就是通過模仿Spring容器管理bean的過程,可以讓我們可以更深入的理解Spring管理bean對象的機(jī)制,當(dāng)然以上的模仿只是做簡單的模仿,Spring 的容器提供了更多的功能和更多的行為,需要你慢慢地去理解和使用。        
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 雅江县| 东辽县| 岳阳县| 澄城县| 桐梓县| 弥勒县| 南宫市| 普安县| 淅川县| 新余市| 京山县| 剑阁县| 筠连县| 遂平县| 灵宝市| 塔城市| 金溪县| 新余市| 鹿泉市| 永善县| 宜章县| 科尔| 肇东市| 玉门市| 岳西县| 华宁县| 湛江市| 清远市| 京山县| 南丹县| 姜堰市| 大方县| 黄浦区| 思茅市| 泰顺县| 许昌县| 沙坪坝区| 吴忠市| 宜川县| 扎赉特旗| 龙泉市|