Spring框架整合junit:包含配置文件的方式以及纯注解开发的方式
- 1. 准备工作
- 2. 配置文件的方式
- 2.1 未整合前
- 2.2 整合以后
- 3. 纯注解开发的方式
- 3.1 未整合前
- 3.2 整合后
Spring框架合集:
Spring框架核心IOC的使用:IOC的作用+Bean管理+实例化Bean的方式+DI依赖注入
Spring框架核心IOC的使用:配置式开发+注解式开发+纯注解式开发
1. 准备工作
添加pom依赖
<!-- spring整合junit --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.0.2.RELEASE</version><scope>test</scope></dependency>
2. 配置文件的方式
如果不整合junit,那每次在测试类中都要加载配置文件,每次都要 new 一个 ClassPathXmlApplicationContext ,整合之后可以直接调用需要测试类的方法
2.1 未整合前
public class UserServiceTest {//spring ioc 的方式创建对象,ioc是一个map,key-value形式,key是对象的标识,value是ioc创建的对象@Testpublic void run1(){//创建spring ioc工厂,主要是为了加载spring的配置文件ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");//获取bean对象UserService userService = (UserService) ac.getBean("xx"); //强制类型转换userService.hello();}}
2.2 整合以后
这里的@ContextConfiguration(“classpath:applicationContext.xml”)里面的applicationContext.xml是配置文件,@Autowired是为userService注入值
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class UserServiceTest {@Autowiredprivate UserService userService;@Testpublic void run1(){userService.hello();}}
3. 纯注解开发的方式
3.1 未整合前
未整合前每次需要new一个AnnotationConfigApplicationContext,创建工厂加载配置类,整合以后可以直接调用需要测试的类的方法
整合前的写法
public class UserServiceTest {@Autowiredprivate AccountService accountService;@Testpublic void run(){//创建工厂,加载配置类ApplicationContext ac = new AnnotationConfigApplicationContext(SpringConfig.class);AccountService accountService = (AccountService) ac.getBean("accountServiceImpl");System.out.println(accountService.findAll());}}
3.2 整合后
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class UserServiceTest {@Autowiredprivate AccountService accountService;@Testpublic void run(){System.out.println(accountService.findAll());}}