SpringBoot深入讲解单元测试与热部署应用

目录
  • 一、单元测试
    • 1.添加spring-boot-starter-test测试依赖启动器
    • 2.编写单元测试类和测试方法
  • 二、热部署
    • 1.添加spring-boot-devtools热部署依赖启动器
    • 2.IDEA工具热部署设置
    • 3.热部署效果测试

一、单元测试

开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确。Spring Boot对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml文件中添加spring-boot-starter-test测试依赖启动器,可以通过相关注解实现单元测试

演示:

1.添加spring-boot-starter-test测试依赖启动器

在项目的pom.xml文件中添加spring-boot-starter-test测试依赖启动器,示例代码如下 :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

注意:使用Spring Initializr方式搭建的Spring Boot项目,会自动加入spring-boot-starter-test测试依赖启动器,无需再手动添加

2.编写单元测试类和测试方法

使用Spring Initializr方式搭建的Spring Boot项目,会在src.test.java测试目录下自动创建与项目主程序启动类对应的单元测试类

package com.lagou;
import com.lagou.controller.HelloController;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit4.SpringRunner;
/**
* SpringJUnit4ClassRunner.class:Spring运行环境
* JUnit4.class:JUnit运行环境
* SpringRunner.class:Spring Boot运行环境
*/
@RunWith(SpringRunner.class) //@RunWith:运行器
@SpringBootTest //标记为当前类为SpringBoot测试类,加载项目的ApplicationContext上下文环境
class Springbootdemo2ApplicationTests {
  /**
  * 需求:调用HelloController的hello方法
  */
  @Autowired
  private HelloController helloController;
  @Test
  void contextLoads() {
    String result = helloController.hello();
    System.out.println(result);
 }
}

上述代码中,先使用@Autowired注解注入了DemoController实例对象,然后在contextLoads()方法中调用了DemoController类中对应的请求控制方法contextLoads(),并输出打印结果。

二、热部署

在开发过程中,通常会对一段业务代码不断地修改测试,在修改之后往往需要重启服务,有些服务需要加载很久才能启动成功,这种不必要的重复操作极大的降低了程序开发效率。为此,Spring Boot框架专门提供了进行热部署的依赖启动器,用于进行项目热部署,而无需手动重启项目 。

热部署:在修改完代码之后,不需要重新启动容器,就可以实现更新。

使用步骤:

1)添加SpringBoot的热部署依赖启动器

2)开启Idea的自动编译

3)开启Idea的在项目运行中自动编译的功能

演示:

1.添加spring-boot-devtools热部署依赖启动器

在Spring Boot项目进行热部署测试之前,需要先在项目的pom.xml文件中添加spring-boot-devtools热部署依赖启动器:

<!-- 引入热部署依赖 -->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-devtools</artifactId>
</dependency>

由于使用的是IDEA开发工具,添加热部署依赖后可能没有任何效果,接下来还需要针对IDEA开发工具进行热部署相关的功能设置。

2.IDEA工具热部署设置

选择IDEA工具界面的【File】->【Settings】选项,打开Compiler面板设置页面

选择Build下的Compiler选项,在右侧勾选“Build project automatically”选项将项目设置为自动编译,单击【Apply】→【OK】按钮保存设置

在项目任意页面中使用组合快捷键“Ctrl+Shift+Alt+/”打开Maintenance选项框,选中并打开Registry页面,具体如图1-17所示

列表中找到“compiler.automake.allow.when.app.running”,将该选项后的Value值勾选,用于指定IDEA工具在程序运行过程中自动编译,最后单击【Close】按钮完成设置

3.热部署效果测试

启动chapter01http://localhost:8080/hello

可以看出,浏览器输出了“你好,Spring Boot”,说明项目热部署配置成功。

到此这篇关于SpringBoot深入讲解单元测试与热部署应用的文章就介绍到这了,更多相关SpringBoot单元测试与热部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot基于IDEA环境热加载与热部署教程

    目录 一.使用Jrebel插件 二.devtools实现热加载 1.1.引入devtools的maven依赖 1.2.设置IDEA 1.3.修改一下application.properties配置 1.4.LiveReload插件 1.5.最后测试一下 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,手动刷新浏览器查看修改效果.那么有没有一种方式能够快速的.自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?肯定是有的,但是对于这个功能很多人对功能的叫法有争议,笔者查询了

  • springboot实现热部署操作方法

    1.在 Spring Boot 开发环境下禁用模板缓存 #开发环境下关闭 thymeleaf 模板缓存,thymeleaf 默认是开启状态 spring.thymeleaf.cache=false 2.引入依赖 <!--热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId>

  • SpringBoot热部署设置方法详解

    目录 热部署 手动设置热部署 自动启动热部署 热部署配置范围 属性加载优先级 热部署 手动设置热部署 导入maven坐标 <!--热部署依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> 每次修改点击构建项目 这个还是的手动点击(c

  • Springboot简单热部署实现步骤解析

    最近开始学习使用springboot但springboot项目和之前的ssm等各种框架项目有所不同,本身集成了很多繁琐的东西,但 一些小功能还需自己配置.下面开始配置热部署. 首先当然是导入热部署的依赖. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>tru

  • SpringBoot+Idea热部署实现流程解析

    idea版本 IntelliJ IDEA 2019.2.3 (Ultimate Edition) 1.pom文件加依赖 <!--热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <sco

  • SpringBoot深入讲解单元测试与热部署应用

    目录 一.单元测试 1.添加spring-boot-starter-test测试依赖启动器 2.编写单元测试类和测试方法 二.热部署 1.添加spring-boot-devtools热部署依赖启动器 2.IDEA工具热部署设置 3.热部署效果测试 一.单元测试 开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确.Spring Boot对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml文件中添加spring-boot-starter-te

  • SpringBoot如何通过devtools实现热部署

    这篇文章主要介绍了SpringBoot如何通过devtools实现热部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在项目的pom.xml文件添加如下两段 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>1

  • IntelliJ IDEA中SpringBoot项目通过devtools实现热部署的方法

    简要几个步骤: 一.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 二.开启热部署 <build> <plugins> <plugin&

  • SpringBoot在IDEA中实现热部署(JRebel实用版)

    JRebel简介: JRebel是与应用程序服务器集成的JVM Java代理,可使用现有的类加载器重新加载类.只有更改的类会重新编译并立即重新加载到正在运行的应用程序中,JRebel特别不依赖任何IDE或开发工具(除编译器外).但是,与您的IDE紧密集成仍然很不错.请记住:只要您用新文件覆盖旧类文件,JRebel就会重新加载您的更改并减少重新部署的时间. 顺便整理下步骤防止以后忘记: 在Java开发的过程选择一个适合自己的IDE是很重要的,每次修改代码都需要重新的编译.重启,如何解决这个问题?.

  • SpringBoot在IDEA中实现热部署的步骤

    IDEA版本:2020.3 具体步骤 一.开启IDEA的自动编译[静态] 1.File->Settings. 2.直接搜索Compiler,选择Build project automatically开启自动编译. 二.开启IDEA的自动编译[动态] 1.同时按住 Ctrl + Shift + Alt + / 然后进入Registry ,勾选自动编译并调整延时参数. compiler.automake.allow.when.app.running -> 自动编译 compile.document

  • springboot 在idea中实现热部署的方法

    SpringBoot的web项目,在每一次修改了java文件或者是resource的时候,都必须去重启一下项目,这样的话浪费了很多的时间,实现了热部署,在每一次作了修改之后,都会自动的重启 第一步:引入热加载的插件,springboot 1.3开始就有的 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactI

  • SpringBoot 在IDEA中实现热部署步骤详解(实用版)

    好的热部署让开发调试事半功倍,这样的"神技能"怎么能错过呢, 使用过IDEA的童鞋赶紧进来撸一把吧. 学习目标 快速学会在项目中使用热部署插件运行项目,提高开发效率. 具体步骤 一.开启IDEA的自动编译(静态) 具体步骤:打开顶部工具栏  File -> Settings -> Default Settings -> Build -> Compiler  然后勾选 Build project automatically . 二.开启IDEA的自动编译(动态)

  • SpringBoot如何IDEA中实现热部署

    好的热部署让开发调试事半功倍,这样的"神技能"怎么能错过呢, 使用过IDEA的童鞋赶紧进来撸一把吧. 学习目标 快速学会在项目中使用热部署插件运行项目,提高开发效率. 具体步骤 idea版本是2019.3 一.开启IDEA的自动编译(静态) 具体步骤:打开顶部工具栏 File -> Settings -> Build -> Compiler 然后勾选 Build project automatically . 二.开启IDEA的自动编译(动态) 具体步骤:同时按住 C

  • Springboot项目基于Devtools实现热部署步骤详解

    1.在pom.xml(如果是多模块,则此pom根据需要可设为具体模块)文件中添加 <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-devtools</artifactId>    <scope>runtime</scope>     <optional>true</option

  • springboot+idea热部署的实现方法(自动刷新)

    近来在使用idea做springboot的项目,但是发现每次修改之后我都需要重新将项目关闭再开启,这样比较繁琐,发现通过热部署的方式让我们可以一边修改我们的项目,然后在页面中直接通过刷新展示出来 spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第

随机推荐