• SpringBoot开发实用篇复习1


    SpringBoot开发实用篇主要包含6大部分,分别为热部署、配置高级、测试、数据层解决方案、整合第三方技术、监控。下面就开始一起学习吧。这篇文章包含前三个部分,即热部署、配置高级和测试。

    目录

    一、热部署

    1.1、手动启动热部署

     1.2、自动启动热部署

    1.3、热部署范围配置

    1.4、关闭热部署

    二、配置高级

    2.1、第三方Bean属性绑定

     2.2、松散绑定

    2.3、常用的计量单位应用

     2.4、Bean属性校验

     2.5、进制数据转换规则

    ​三、测试篇

    3.1、加载测试专用属性

    3.2、测试类中启动web环境

    3.3、发送MVC虚拟请求调用

     3.4、虚拟请求匹配

    3.5、业务层测试事务回滚


    一、热部署

    1.1、手动启动热部署

    热部署就是当服务器发现内部的程序发生了变化,服务器做一个内部的重启。

    首先要在pom.xml配置依赖坐标,然后再激活热部署即可。

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-devtoolsartifactId>
    4. <optional>trueoptional>
    5. dependency>

    使用构建项目ctrl+F9完成热部署激活。

     热部署的过程仅仅是restart过程,不是reload过程。

     1.2、自动启动热部署

    在设置中找到编译器,勾选其中的自动构建项目即可实现自动启动热部署,如下: 

    当然还需要设置在app运行的时候也启动热部署才行,在任意开发业界使用组合快捷键ctrl+shift+alt+/  则会出现如下,选择注册,勾选当app运行时候允许自动构建。

    1.3、热部署范围配置

    因为在默认情况下,有些是自动触发热部署,有些是不自动出发热部署,一般默认不触发热部署的目录如下所示。

    那么如果我想让一些默认触发热部署的也不触发,那么需要在配置文件中进行配置,排除选项,对某些文件夹进行排除操作。

    1.4、关闭热部署

    热部署仅在开发环境中有意义,在上线的时候不需要热部署了,可以设置关闭热部署,可以在启动类中设置关闭热部署。

    二、配置高级

    2.1、第三方Bean属性绑定

    注解@ConfigurationProperties可以为自己开发的bean绑定属性,如下所示。在配置文件配置属性,然后和bean进行绑定。

    @Data注解是lombok的注解,避免写setter和getter等方法,@Component是定义bean。

     注解@ConfigurationProperties也可以为第三方bean绑定属性,定义第三方bean,然后进行datasource配置绑定。

     也可以使用@EnableConfigurationProperties注解进行bean绑定,要输入第三方bean的类名,同时在第三方bean上不需要再加@Component注解,否则会冲突。

     2.2、松散绑定

    @ConfigurationProperties支持松散绑定,就是对bean进行绑定时,写成驼峰模式、下划线模式、中划线模式、常量模式都是可以的,不需要和bean中定义的变量名一模一样。

    注意:要是@Value注解进行bean绑定要求属性名必须完全一致才能完成绑定。

     注意:@ConfigurationProperties支持松散绑定,但是绑定的规范要求必须是小写字母、数字、下划线才行,不支持大写字母。

    2.3、常用的计量单位应用

    JDK8提供了常用的时间和空间单位,如下所示,了解即可。

     2.4、Bean属性校验

    首先在配置文件pom.xml中配置校验规范坐标,如下所示。

    第2步,开启对当前bean的顺属性校验,一个注解@Validated。

    第3步,设置具体的校验规则,校验规则是自己定义的,如下设置端口号最大不超过400。

     2.5、进制数据转换规则



    三、测试篇

    3.1、加载测试专用属性

    对于加载配置,我们可以设置测试环境的临时属性,这样就可以覆盖原来设置的属性值。

     另外一种设置测试环境临时属性的方法如下,该方法的优先级最高。

     可以使用@Import注解加载当前测试类的专用配置,这样就方便管理。

    3.2、测试类中启动web环境

    关于web环境的启动模拟,设置web环境即可,可选的模式有如下四种。常用的是随机端口和自定义端口模拟。

    3.3、发送MVC虚拟请求调用

    对于web环境中发送虚拟请求,首先使用@AutoConfigureMockMvc开启虚拟MVC调用,然后注入调用对象,通过调用对象调用创建的虚拟请求。

     
    3.4、虚拟请求匹配

    我们一般想知道对于表现层的虚拟请求有没有匹配成功,需要根据状态匹配器定义预期状态,然后将本次真实执行结果与预期结果进行对比。

    对于响应体的匹配,即匹配执行结果, 这一次是内容的匹配,根据记过匹配器定义预取结果,和真实结果进行对比。

    上面做的是字符串的匹配,但是正常我们应该是做json匹配,对于json的匹配和字符串匹配一样的,方法相同。

    对于虚拟请求头的匹配,也是先定义虚拟头部匹配器,根据匹配器定义预期匹配头,根据实际和预期进行对比。

    3.5、业务层测试事务回滚

    在测试类上加@Transactional注解,可以对提交的事务进行回滚操作,防止脏数据写入。

  • 相关阅读:
    基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】计算机毕业设计
    Js基础——事件流
    领域知识图谱的医生推荐系统:利用BERT+CRF+BiLSTM的医疗实体识别,建立医学知识图谱,建立知识问答系统
    将json-bigint处理为数值分区数组的字段全部自动转为字符串
    Echarts 3D饼图开发
    深度学习框架pytorch:tensor.data和tensor.detach()的区别
    gin读取静态文件内容
    Spring异步任务async介绍与案例实战
    【GoWeb项目-个人Blog】个人Blog开篇
    m认知无线电信号检测算法matlab仿真,能量检测,循环平稳检测以及自相关检测
  • 原文地址:https://blog.csdn.net/nuist_NJUPT/article/details/127820486