SpringBoot开发实用篇1

这篇具有很好参考价值的文章主要介绍了SpringBoot开发实用篇1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、热部署

1.手工启动热部署

经过测试当前是没有启动热部署的:
SpringBoot开发实用篇1
SpringBoot开发实用篇1
再将sout的信息多复制几份,刷新功能,发现控制台还是只打印一行信息。说明当前热部署是没有生效的。
手动开启热部署:
在pom.xml文件中加入开发者工具配置热部署:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

运行程序后,修改代码发现热部署没有生效。
需要配合项目构建工具共同使用:
SpringBoot开发实用篇1
修改代码后,点击Build Project,热部署就成功了(激活热部署)。
关于热部署:
重启(Restart):自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器;
重载(ReLoad):jar包,加载位置base类加载器。
热部署是不需要将jar包再加载一遍的,热部署仅仅是restart过程,而不包括relload过程。(热部署仅仅加载当前开发者自定义开发的资源,不加载jar资源)
程序第一次启动的时候既有restart,也有reload过程。

2.自动启动热部署

设置自动构建项目:
SpringBoot开发实用篇1
SpringBoot开发实用篇1
IDEA失去焦点5秒后,自动热部署。

3.热部署配置范围

页面不参与热部署,页面更改后,一刷新,就显示出来了。
配置文件参与热部署。
自定义重启排除项:下面设置的文件不参与热部署

spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC&useSSL=false
      username: root
      password: "****"
  devtools:
    restart:
      #设置不参与热部署的文件或文件夹
      exclude: static/**,public/**,config/application.yml

4.关闭热部署

设置高优先级属性(Java系统属性)禁用热部署:为了覆盖所有配置文件。
在这个配置文件中设置是不行的,可能有更高优先级的配置文件开启了热部署。
SpringBoot开发实用篇1
设置在引导类中:
SpringBoot开发实用篇1

二、配置高级(围绕配置中数据的读取)

1.@ConfigurationProperties可以为第三方的bean绑定属性

@ConfigurationProperties属性可以将配置文件的内容加载到bean容器中。

加载自定义的属性到bean中

配置文件中:
SpringBoot开发实用篇1
这个类加载配置文件中的内容,并将这个类交给bean来管理
SpringBoot开发实用篇1
测试一下,bean中有配置文件的内容:
SpringBoot开发实用篇1

加载第三方依赖的属性到bean中

使用Durid数据源连接池进行测试:
SpringBoot开发实用篇1
使用@ConfigurationProperties属性为第三方bean绑定属性:
把datasource改成驼峰命名法,就会报错,为什么?(宽松绑定/松散绑定)
SpringBoot开发实用篇1
SpringBoot开发实用篇1

@ConfigurationProperties不仅可以为自己开发的组件做bean的属性绑定,还可以为第三方的bean绑定属性,格式相同。
@EnableConfigurationProperties和@ConfigurationProperties的区别:
Enable可以看作是一个开关,开启配置属性的功能,向对应的类里做属性注入,要设定目标是谁,@EnableConfigurationProperties注解可以将使用@ConfigurationProperties注解对应的类加入Spring容器,使用所以不用写@Component

SpringBoot开发实用篇1
SpringBoot开发实用篇1

2.宽松绑定/松散绑定

@ConfigurationProperties绑定属性支持属性名宽容绑定
在配置文件中任意写,注解都能认出来

ipAddress: 192.168.1.1
ip_address: 192.168.1.1
ip-address: 192.168.1.1
IP_ADDRESS: 192.168.1.4

@Value注解不能用松散绑定,在配置文件中写什么,注解里就应该写什么:
SpringBoot开发实用篇1
@ConfigurationProperties注解的前缀有格式,写成全小写或烤肉串命名。

@ConfigurationProperties(prefix = "datasource")

3.常用计量单位绑定

SpringBoot支持JDK8提供的时间与空间计量单位
SpringBoot开发实用篇1
SpringBoot开发实用篇1

4.数据校验 开启bean数据校验

1.添加JSR303规范坐标与Hibernate校验框架对应坐标:
SpringBoot开发实用篇1
2.开启Bean校验功能
3.使用具体校验规则规范数据校验格式
SpringBoot开发实用篇1

三、与测试有关

基于基础篇测试之上的补充:web环境、表现层的测试、数据层的测试。

1.加载测试属性专用属性

应用场景:测试环境中使用临时的属性。
1.使用properties属性可以为当前测试用例添加临时的属性配置
配置文件中有属性:
SpringBoot开发实用篇1
测试文件中通过properties设置属性:临时配置有效。
SpringBoot开发实用篇1
SpringBoot开发实用篇1
2.使用args属性为当前测试用例添加临时的命令行参数
SpringBoot开发实用篇1
3.同时使用 properties级别高

SpringBoot开发实用篇1

2.加载测试专用配置

如何在测试环境中临时加第三方bean?
例如Mybatis-plus用的分页的拦截器,配置了一个第三方bean加入到容器中,本次测试环境中加入一个临时的bean,辅助测试。这本bean只服务于本次的测试过程,不服务于其他的,不定义到源码级别。

使用@Import注解加载当前测试类专用的配置
SpringBoot开发实用篇1
SpringBoot开发实用篇1

3.Web环境模拟测试

如何在测试用例测表现层?需要启动web环境的模拟
可以选用的参数有:DEFINED_PORT,RANDOM_PORT,NONE
SpringBoot开发实用篇1
发送虚拟请求:虚拟请求测试
SpringBoot开发实用篇1
匹配响应体:进行状态的匹配
先去设定一个预计值,再添加预计值到本次调用结果中进行匹配,成功过,失败给出信息。
SpringBoot开发实用篇1
匹配响应体:执行内容的匹配
匹配字符串:
SpringBoot开发实用篇1
匹配json
SpringBoot开发实用篇1
匹配响应头:匹配是不是json
SpringBoot开发实用篇1
在实际测试中,可以并列使用,预定义一个,匹配一个。

/**
     * 在实际开发中应该怎么写
     * @param mvc
     * @throws Exception
     */
    @Test
    void testGetById(@Autowired MockMvc mvc) throws Exception {
        MockHttpServletRequestBuilder builder= MockMvcRequestBuilders.get("/books");
        ResultActions action = mvc.perform(builder);

        StatusResultMatchers status = MockMvcResultMatchers.status();
        ResultMatcher ok = status.isOk();
        action.andExpect(ok);

        ContentResultMatchers content = MockMvcResultMatchers.content();
        ResultMatcher result = content.json("{\"id\":1,\"name\":\"springboot\",\"type\":\"springboot\",\"description\":\"springboot\"}");
        action.andExpect(result);

        HeaderResultMatchers header = MockMvcResultMatchers.header();
        ResultMatcher contentType = header.string("Content-Type", "application/json");
        action.andExpect(contentType);

    }

4.数据层测试回滚

为测试用例添加事务,SpringBoot会对测试用例对应的事务提交操作进行回滚;
如果想在测试用例中提交事务,可以通过@Rellback注解设置。
true进行回滚,false不进行回滚。
SpringBoot开发实用篇1

5.测试用例数据设定

测试用例中的数据不能写死,应该用随机值。
测试用例数据通常采用随机值进行测试,使用SpringBoot提供的随机数为其赋值。
SpringBoot开发实用篇1
SpringBoot开发实用篇1
SpringBoot开发实用篇1文章来源地址https://www.toymoban.com/news/detail-456444.html

到了这里,关于SpringBoot开发实用篇1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot实用开发(十二)-- MongoDB语句的简单使用

    目录 1.新增文档 2.删除文档 3.修改文档 4.查询文档 4.1 基础查询 4.2 条件

    2024年01月24日
    浏览(40)
  • 【SpringBoot】springboot启动热部署

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 在SpringBoot工程的pom.xml配置文件中,添加以下依赖 IDEA中激活热部署 快捷键: Ctrl + F9 图形化界面 Build Proje

    2024年02月02日
    浏览(33)
  • SpringBoot实用开发(五)-- RedisTemplate处理String类型的数据

    目录 1. 新增操作 2. 查看操作  3. 批量获取value值 4. 返回value的长度 5.

    2024年02月03日
    浏览(42)
  • SpringBoot项目(jar)部署,启动脚本

    SpringBoot项目(jar)部署,需要先关闭原来启动的项目,再启动新的项目。直接输入命令,费时费力,还容易出错。所以,使用脚本启动。 脚本名: start.sh 此脚本需要放置在jar包的同级目录,才能正确找到jar包。 在脚本所在目录,执行如下命令: 一开始,我在给pid赋值时,

    2024年02月10日
    浏览(44)
  • springboot 项目非docker 部署自动启动

    springboot 项目非docker 部署,需要杀死进程重新启动,并打印对应的日志,以下是一个好用的shell脚本。

    2024年02月06日
    浏览(42)
  • Java项目:118SpringBoot手工艺术品商城

    博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 手工艺术品商城是由SpringBoot+Mybatis开发的,是一个简易商城,代码简而整洁,满足商城的需求又没有繁琐的代码,分为前台和后台,前台为用户浏览,后台进行数据管理 后台

    2024年01月23日
    浏览(37)
  • Docker 部署SpringBoot项目,使用外部配置文件启动项目

    一、Springboot项目引入配置文件的方式: 二、docker启动SpringBoot项目饮用外部部署文件

    2024年02月09日
    浏览(46)
  • springboot整合Activiti-常用方法(部署、启动、查询、执行任务)

    ps:activiti7强依赖security,所以还需要整合security,这里就当整合成功了。 真不会整合,就看我下面这个博文 日常记录-SpringBoot整合SpringSecurity(前后分离)+JWT+Redis 启动成功后就看到下面的表 activiti7默认不生成act_hi历史表 如果不生成历史表,还需要禁用插入历史数据【sprin

    2024年01月20日
    浏览(39)
  • 基于Java+SpringBoot+Vue前后端分离手工艺品销售系统设计和实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作 ✌ 主要内容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年02月03日
    浏览(48)
  • SpringBoot项目 Tomcat部署war程序时启动成功但是访问404异常处理

    Springboot项目 使用IntelliJ IDEA 将maven项目打war包,pom.xml文件中引入了依赖 并通过maven的package打包完后,放入tomcat的web-apps文件下 同时修改了打开conf文件夹下的server.xml文件,启动tomcat时出现了以下问题 SpringApplicationBuilder用于构建 Spring 应用,是SpringApplication和ApplicationContext实例

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包