一:热部署
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提供了三种内嵌的数据源对象供开发者选择
- HikariCP:默认内置数据源对象
- Tomcat提供DataSource:HikariCP不可用的情况下,且在web环境中,将使用Tomcat服务器配置的数据源对象
- Commons DBCP: HikariCP不可用,tomcat数据源也不可用,将使用dbcp数据源
- 通用配置无法设置具体的数据源配置信息,仅提供基本的连接相关配置,如需配置,在下一级配置中具体设定
2:持久化技术
数据层解决方案
- 内置持久化解决方案——JDBCTemplate
- 注意:使用此技术要导入相应的配置依赖
- JDBCTemplate配置,它也可以做相应的设置
3:内嵌数据库
- SpringBoot提供三种内嵌数据库供开发者选择,提高开发测试效率(下面的以H2数据库为例)
- H2
- HSQL
- Derby
- 设置当前项目为web工程,并配置H2管理控制台参数
- 访问用户名sa,默认密码123456
- 操作数据库(创建表)
- 设置访问数据源
- 注意:H2数据库控制台仅用于开发阶段,线上项目请务必关闭控制台功能