springBoot 入门(四)—— 使用 纯注解方式的junit整合测试

Spring框架纯注解方式的junit整合测试如下:

在之前的基础上,继续添加代码:
service层模拟

package service;

import dao.CustomerDao;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service("customerService")
public class CustomerServiceImpl implements CustomerService {

    @Resource(name="customerDao")
    private CustomerDao customerDao;
    @Override
    public void save() {
        System.out.println("--业务层..");
        customerDao.save();
    }

}

dao层模拟

package dao;

import org.springframework.stereotype.Repository;

@Repository("customerDao")
public class CustomerDaoImpl implements CustomerDao {

    @Override
    public void save() {
        System.out.println("持久层保存..");
    }

}

配置类——用来替换xml配置文件
其中的@ComponentScan ,可以加载多个包下spring管理的bean,每个用分号“”和逗号,隔开,如果没有组件扫描注解,则可能会报 无法注入bean 的错误。


import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan(basePackages={"dao","service"})
public class SpringConfig {

}  

纯注解方式整合Junit单元测试框架测试类 的父类


import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;



@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={SpringConfig.class})
public class BaseTest {

}

基于注解的方式的spring框架整合junit测试,就是将localtions载入xml的方式改成classes的方式载入spring的配置类

实现具体的测试,只需要继承上面的BaseTest,在子类需要测试的方法上使用@Test注解即可

import org.junit.Test;
import org.springframework.stereotype.Component;
import service.CustomerService;

import javax.annotation.Resource;

/*
 * 纯注解方式整合Junit单元测试框架测试类
 */
@Component
public class Demo extends BaseTest{

    @Resource(name="customerService")
    private CustomerService customerService;
    @Test
    public void fun() {
        customerService.save();
    }


}

无需启动 spring boot

直接运行junit类,测试成功!

springBoot 入门(四)—— 使用 纯注解方式的junit整合测试_第1张图片

你可能感兴趣的:(spring,boot)