官术网_书友最值得收藏!

2.4 SpringTest測(cè)試

前面通過(guò)ApplicationContext啟動(dòng)了Spring容器,并實(shí)現(xiàn)了配置文件的加載,但這樣處理并不能體現(xiàn)出Spring的運(yùn)行特征。為了更好地還原現(xiàn)實(shí)的開發(fā)場(chǎng)景,可利用SpringTest依賴庫(kù)和JUnit實(shí)現(xiàn)測(cè)試環(huán)境下的Spring容器啟動(dòng),且可以使用@Resource代替getBean方法實(shí)現(xiàn)自動(dòng)注入。

1.【mldnspring項(xiàng)目】修改pom.xml配置文件,追加spring-test依賴庫(kù)。

2.【mldnspring-base項(xiàng)目】修改pom.xml配置文件,在子模塊中引入Spring相關(guān)測(cè)試依賴庫(kù)。由于這里要基于JUnit工具實(shí)現(xiàn)測(cè)試,所以還需要引入junit測(cè)試依賴庫(kù)。

3.【mldnspring-base項(xiàng)目】編寫程序測(cè)試類。

本程序盡可能還原了Spring容器的實(shí)際運(yùn)行環(huán)境。對(duì)它做如下幾點(diǎn)說(shuō)明。

@ContextConfiguration:表示Spring配置文件所在的目錄。本程序通過(guò)classpath進(jìn)行加載,由于src/main/resources屬于源目錄,所以目錄中保存的所有資源將自動(dòng)設(shè)置在CLASSPATH之中。

@RunWith(SpringJUnit4ClassRunner.class):表示要使用的測(cè)試工具類型。

@Resource:表示資源注入配置。首先會(huì)根據(jù)類型進(jìn)行匹配,由于在spring-base.xml文件中配置的是MessageImpl子類,所以會(huì)自動(dòng)與IMessage接口對(duì)應(yīng)實(shí)現(xiàn)對(duì)象注入。如果有需要,也可以利用具體名稱進(jìn)行注入。

范例:設(shè)置具體的Bean名稱。

@Resource注解中,代碼name="messageImpl"中的名稱就是spring-base.xml配置文件中<bean>元素id屬性設(shè)置的名稱。利用這種模式,可以避免一個(gè)接口、多個(gè)實(shí)例存在時(shí)無(wú)法匹配的問(wèn)題。

主站蜘蛛池模板: 新竹市| 绩溪县| 平安县| 沧源| 临清市| 长岛县| 佳木斯市| 高台县| 永兴县| 黑河市| 深水埗区| 吉木乃县| 同德县| 迭部县| 应用必备| 尖扎县| 沙雅县| 和田县| 西丰县| 竹北市| 微博| 哈尔滨市| 辽中县| 依兰县| 台山市| 铁岭县| 牙克石市| 保亭| 阳信县| 阳谷县| 米脂县| 成安县| 博罗县| 广河县| 雅江县| 儋州市| 兰州市| 平顺县| 濉溪县| 保亭| 桑日县|