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