初始化和销毁的方法是通过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就好了)
作为使用junit作为单元测试,必须要实现Junit的准备工作,将spring的初始放置在Junit的before和after中才可以完整的实现Junit单元测试的所有环节。也就是说你使用Junit做测试必须独立出一个完善的环境而不是依赖项目本身的运行环境。要是还是不明白可以去学习下Junit的使用原理。希望可以帮到你