SpringBoot 整合 JUnit
- 添加
Junit
的起步依赖,它在 Spring Initializr 创建时会自动导入
- SpringBoot 整合
JUnit
关于
@SpringBootTest
注解
- 名称:@SpringBootTest
- 类型:测试类注解
- 位置:测试类定义上方
- 作用:设置JUnit加载的SpringBoot启动类
- 范例:
小结
- 导入测试对应的 starter(默认自带)
- 测试类使用
@SpringBootTest
修饰 - 使用自动装配的形式添加要测试的对象
整合JUnit - classes属性
- 测试类不在 SpringBoot启动类 的
当前包及其子包下
,可以采用下面两种方式来显式指定SpringBoot启动类
- 或者用下面这个
@ContextConfiguration
注解也可以
- 注意:如果测试类
在SpringBoot启动类的当前包或子包中
,可以省略启动类的设置,也就是可以省略 classes 的设定
小结
- 测试类如果存在于引导类所在包或子包中无需指定引导类
- 测试类如果不存在于引导类所在的包或子包中需要通过 classes 属性指定引导类
SpringBoot 整合 MyBatis
①:创建新模块,选择Spring初始化,并配置模块相关基础信息
②:选择当前模块需要使用的技术集(MyBatis、MySQL)
- 自动生成 mybatis 对应的依赖
③:设置数据源参数
④:在数据库中创建 tbl_book
表
⑤:创建实体Bean
⑥: 定义数据层接口与映射配置
⑦:测试类中注入dao接口,测试功能
⑧:运行如下
小结
- 勾选MyBatis技术,也就是导入MyBatis对应的starter
- 数据库连接相关信息转换成配置
- 数据库SQL映射需要添加@Mapper被容器识别到
SpringBoot 整合 MyBatis 常见问题处理
- SpringBoot版本低于 2.4.3 (不含2.4.3),Mysql驱动版本大于8.0时,需要在url连接串中配置时区
- 或在 MySQL 数据库端配置时区解决此问题
小结
- MySQL 8.X驱动强制要求设置时区
- 修改url,添加
serverTimezone
设定 - 修改 MySQL 数据库配置(略)
- 驱动类过时,提醒更换为
com.mysql.cj.jdbc.Driver
SpringBoot 整合 MyBatisPlus
①:手动添加SpringBoot整合 MyBatis-Plus
的坐标,可以通过 mvnrepository 获取
- 注意事项: 由于 SpringBoot 中未收录 MyBatis-Plus 的坐标版本,需要指定对应的
Version
②:设置数据源参数
③:创建实体类同SpringBoot整合 MyBatis
④:定义数据层接口与映射配置,继承 BaseMapper<T>
接口
⑤:测试类中注入dao接口,测试功能
注意: 如果你的数据库表有前缀要在 application.yml 添加如下配制
小结
- 手工添加MyBatis-Plus对应的starter
- 数据层接口使用BaseMapper简化开发
- 需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标
SpringBoot整合 Druid
①:导入Druid对应的starter
②:指定数据源类型 (这种方式只需导入一个 Druid 的坐标)
- 或者 变更 Druid 的配置方式(推荐用下面这种方式)
- 这种方式需要导入 Druid 对应的 starter
③:其他同SpringBoot整合MyBatis
④:测试类中注入dao接口,测试功能
小结
- 整合Druid需要导入Druid对应的 starter
- 根据Druid提供的配置方式进行配置
- 整合第三方技术通用方式
- 导入对应的 starter
- 根据提供的配置格式,配置非默认值对应的配置项