SpringBoot开发实用篇(一)

2024-06-20 02:44

本文主要是介绍SpringBoot开发实用篇(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:热部署

1:手工启动热部署

关于热部署

  • 重启(Restart):自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
  • 重载(Reload):jar包,加载位置base类加载器

启动热部署

  • 开启开发者工具启动热部署(注意要添加坐标)

  • 使用构建项目操作启动热部署(Ctrl+F9)
  • 热部署仅仅加载当前开发者自定义开发的资源,不加载jar资源

2:自动启动热部署

  • 设置自动构建项目

  • 然后Ctrl+Shift+Alt+/

  • 激活方式:idea失去焦点五秒后启动热部署

3:热部署范围配置

  • 默认不触发重启的目录

  • 自定义不参与排除项

4:关闭热部署

  • 设置高优先级的属性禁用热部署

二:配置高级

1:ConfigurationProperties

  • 使用@ConfigurationProperties为第三方Bean添加属性

  • @EnableConfigurationProperties注解可以为@ConfigurationProperties注解对应的类加入到Spring容器中,也就是自动将指定的类标为Bean

注意:@EnableConfigurationProperties与@Component不能同时使用    

2:松散绑定

  • @ConfigurationProperties绑定属性支持属性名宽松绑定 (大小写,下划线,横线什么的,虽然不是一模一样的对应,但是可以匹配) 
  • @Value注解不支持松散绑定

 注意:绑定前缀名命名规范:仅能使用纯小写字母、数字、下划线作为合法的字符

3:常用计量单位

  • SpringBoot支持JDK8提供的时间和空间计量单位

可选的值如下:

4:Bean属性校验

(1)添加JSR303规范坐标与Hibernate校验框架对应的坐标

(2)对Bean开启校验功能             

 (3)设置校验规则

5:进制数据转换规则

  • yaml文件中对于数字的定义支持进制书写格式,如需使用字符串请使用引号明确标注   

 yaml语法规则

字面值表达方式

三:测试

1:加载测试专用属性

  • 在启动测试环境时可以通过properties参数设置测试环境专用的属性     

    优势:比多环境开发中的测试环境影响范围更小,仅对当前测试类有效

  • 在启动测试环境时可以通过args参数设置测试环境专用的传入参数

2:加载测试专用配置

  • 使用@Import注解加载当前测试类专用的配置

  • 加载测试范围配置应用于小范围测试环境

3:测试类中启动web环境

  • 模拟端口
  • 虚拟请求测试
  • 虚拟请求状态匹配
  • 虚拟请求体匹配
  • 虚拟请求体(jsom)匹配
  • 虚拟请求头的匹配

4:业务层测试事务回滚

数据层测试事务回滚

  • 为测试用例添加事务,SpringBoot会对测试用例对应的事务提交操作进行回滚
  • 如果想在测试用例中提交事务,可以通过@Rollback注解设置      

5:测试用例设置随机数据        

测试用例数据设定

  • 测试用例数据通常采用随机值进行测试,使用SpringBoot提供的随机数为其赋值

四:数据层解决方案

目录

一:热部署

1:手工启动热部署

2:自动启动热部署

3:热部署范围配置

4:关闭热部署

二:配置高级

1:ConfigurationProperties

2:松散绑定

3:常用计量单位

4:Bean属性校验

5:进制数据转换规则

三:测试

1:加载测试专用属性

2:加载测试专用配置

3:测试类中启动web环境

4:业务层测试事务回滚

5:测试用例设置随机数据        

四:数据层解决方案

1:数据源

2:持久化技术

3:内嵌数据库


1:数据源

  • SpringBoot提供了三种内嵌的数据源对象供开发者选择
  1. HikariCP:默认内置数据源对象
  2. Tomcat提供DataSource:HikariCP不可用的情况下,且在web环境中,将使用Tomcat服务器配置的数据源对象
  3. Commons DBCP: HikariCP不可用,tomcat数据源也不可用,将使用dbcp数据源
  • 通用配置无法设置具体的数据源配置信息,仅提供基本的连接相关配置,如需配置,在下一级配置中具体设定

2:持久化技术

数据层解决方案

  • 内置持久化解决方案——JDBCTemplate
  • 注意:使用此技术要导入相应的配置依赖

  • JDBCTemplate配置,它也可以做相应的设置

3:内嵌数据库

  • SpringBoot提供三种内嵌数据库供开发者选择,提高开发测试效率(下面的以H2数据库为例)
  1. H2
  2. HSQL
  3. Derby
  • 设置当前项目为web工程,并配置H2管理控制台参数
  • 访问用户名sa,默认密码123456
  • 操作数据库(创建表)
  • 设置访问数据源
  • 注意:H2数据库控制台仅用于开发阶段,线上项目请务必关闭控制台功能

这篇关于SpringBoot开发实用篇(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076879

相关文章

Java设计模式---迭代器模式(Iterator)解读

《Java设计模式---迭代器模式(Iterator)解读》:本文主要介绍Java设计模式---迭代器模式(Iterator),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录1、迭代器(Iterator)1.1、结构1.2、常用方法1.3、本质1、解耦集合与遍历逻辑2、统一

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S