Spring Boot 单元测试和热部署

1.Spring Boot 整合Junit单元测试
1.1 创建springboot的项目

1.2 打开pom.xml,查看坐标

org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test junit junit test 1.3 编写业务代码 @Service public class UserServiceImpl implements UserService { @Override public void addUser() { System.out.println("insert into users...."); } } 1.4 Junit测试类,编写测试代码 /** * @RunWith(SpringJUnit4ClassRunner.class):启动器,让junit和spring环境进行整合 * @SpringBootTest : 当前是一个SpringBoot的测试类。 */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest class SpringBootTestApplicationTests { @Autowired UserService userService;
@Test
public void testAddUser() {
    userService.addUser();
}

}
注解说明:
@RunWith :
在JUnit中有很多个Runner,他们负责调用你的测试代码,每一个Runner都有各自的特殊功能,你要根据需要选择不同的Runner来运行你的测试代码。
如果我们只是简单的做普通Java测试,不涉及Spring Web项目,你可以省略@RunWith注解,这样系统会自动使用默认Runner来运行你的代码。
–@RunWith就是一个运行器
–@RunWith(JUnit4.class)就是指用JUnit4来运行
–@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境,以便在测试开始的时候自动创建Spring的应用上下文
–@RunWith(Suite.class)的话就是一套测试集合

2.Spring Boot 热部署
2.1 什么是热部署
在服务不停止的情况下,完成项目部署处理。
原因:在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受。

2.2 Spring Boot热部署的方式分为2种
1.Spring Loader 插件
特点:在部署项目时使用的是热部署的方式,不重启服务的情况下重新部署项目。
只能对后台java代码进行部署处理,对页面无能为力。
2.DevTools 工具
特点:在部署项目时使用的是重新部署方式,需要重新启动服务。对java代码和页面都有效。
原理:深层原理是使用了两个ClassLoader,
一个Classloader加载那些不会改变的类(第三方Jar包),
另一个ClassLoader加载会更改的类,称为restart ClassLoader,
这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,
重新创建一个restart ClassLoader,由于需要加载的类相比较少,
所以实现了较快的重启时间。

2.3 DevTools 热部署实现
2.3.1 创建springboot项目

 2.3.2 打开pom.xml,查看坐标,并加上配置
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true org.springframework.boot spring-boot-maven-plugin true 2.3.3 编写控制器和页面测试代码 @Controller public class TestController { @RequestMapping("/test") public String test(){ System.out.println("hello mm aaa"); return "index"; } } 测试页面

hello aaa!!!!

注意: IDEA的话,热部署还不会生效,因为devTools只会在类路径上的文件发生更改时才会自动重启,而IDEA默认不会自动编译。解决方法有两种: 1、手动:修改完代码,按快捷键Ctrl+F9,手动构建项目,或者只修改单个类文件的话,按Ctrl+Shift+F9,重新编译该类文件,即可触发重启服务。 2、自动:需要进行如下配置
2.3.4 IDEA配置自动编译
   1. ctrl + shift + A,输入automatically,选择如图所示点击进入


   2.然后ctrl + shift + alt + /,选择如下图所示点击进入

保存重启,之后修改文件进行测试即可。
SpringLoader热部署参考:https://blog.youkuaiyun.com/u013294097/article/details/87874817

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值