初始化和銷(xiāo)毀是在IOC容器的啟動(dòng)和銷(xiāo)毀過(guò)程中執(zhí)行的,那和這個(gè)基類(lèi)有什么關(guān)系?
初始化和銷(xiāo)毀的方法是通過(guò)xml指定的,具體的方法在bean中。
按我的理解,啟動(dòng),在加載xml后執(zhí)行初始化方法,在關(guān)閉容器后執(zhí)行銷(xiāo)毀方法
那么這里講這個(gè)基類(lèi)又是做什么?
為什么要強(qiáng)調(diào)下基類(lèi)的在before和after中的
context.start();
context.destroy();
這里是這兩個(gè)在調(diào)用?
看了下代碼,在這個(gè)繼承的基類(lèi)中重寫(xiě)了before方法和after方法
其中的before
@Before public?void?before()?{ ????if?(StringUtils.isEmpty(springXmlpath))?{ ????????springXmlpath?=?"classpath*:spring-*.xml"; ????} ????try?{ ????????context?=?new?ClassPathXmlApplicationContext(springXmlpath.split("[,\\s]+")); ????????context.start(); ????}?catch?(BeansException?e)?{ ????????e.printStackTrace(); ????} }
context.start();看起來(lái)是啟動(dòng)容器,也就是說(shuō)在執(zhí)行這個(gè)test方法前,要先通過(guò)before啟動(dòng)容器(我一直以為直接super.getBean就好了)
2017-01-05
作為使用junit作為單元測(cè)試,必須要實(shí)現(xiàn)Junit的準(zhǔn)備工作,將spring的初始放置在Junit的before和after中才可以完整的實(shí)現(xiàn)Junit單元測(cè)試的所有環(huán)節(jié)。也就是說(shuō)你使用Junit做測(cè)試必須獨(dú)立出一個(gè)完善的環(huán)境而不是依賴(lài)項(xiàng)目本身的運(yùn)行環(huán)境。要是還是不明白可以去學(xué)習(xí)下Junit的使用原理。希望可以幫到你