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