一、现状分析
在SSM-Spring【进阶一】等文章中,我们测试时都需要自己手动获取容器,然后再从容器中取出需要使用的bean对象,如下:
1 | public class test { |
这样在测试时就显得和我们的测试理念有点不想符合,因此Spring就提供了对junit的整合。
二、实现原理
其实实现的原理也不难理解:
junit集成了一个main方法,该方法就会判断当前测试类中哪些方法有 @Test注解,让有Test注解的方法执行。但是,该main方法不会自动为我们获取容器,因此我们就会思考是否能有一个自动获取容器的类呢?
其实是有的,即:SpringJunit4ClassRunner
所以我们在测试时,只需要把原有的main方法替换成Spring提供的整合了junit的类即可。
三、使用
(一)步骤
1、导入spring-test的jar包(坐标);
2、使用junit提供的 @RunWith注解替换成Spring提供的SpringJunit4ClassRunner;
3、使用 @ContextConfiguration注解告知Spring的运行器,Spring的ioc容器的创建基于XML方式还是注解方式,并且使用 @ContextConfiguration注解说明配置文件的位置或指出配置类;
1 |
|
4、可以使用 @AutoWired注解自动为bean对象注入。
(二)案例代码
文章开头的代码就可以修改成:
XML文件方式:
1 | .class) (SpringJUnit4ClassRunner |
注解方式:
1 | .class) (SpringJUnit4ClassRunner |
Java新手,若有错误,欢迎指正!