在这里插入图片描述

1、SpringBoot整合Junit

步骤:

  • 导入测试对应的starter
  • 测试类使用@SpringBootTest修饰
  • 使用自动装配的形式添加要测试的对象
@SpringBootTest
class SpringbootJunitApplicationTests {

	@Autowired
	private BookService bookService;
	
	@Test
	public void testSave(){
		bookService.save();
	}
}

关于导入测试的starter,这一步在创建springboot工程时,这个依赖是默认自动加好的,但如果是自己手动创建的Maven工程,就得自己引入一下spring-boot-starter-test的起步依赖。

在这里插入图片描述

关于@SpringBootTest注解:

  • 类型:测试类注解
  • 位置:测试类定义上方
  • 作用:设置JUnit加载的SpringBoot启动类

关于classes属性:

在这里插入图片描述

报错原因是测试类找不到引导类了,即如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,也就是省略classes的值:

  • 测试类如果存在于引导类(启动类)所在包或子包下,则无需指定引导类
  • 反之需要通过classes属性来指定引导类

或者使用报错中的@ContextConfiguration注解也可以实现:

在这里插入图片描述

2、SpringBoot整合MyBatis

先复习Spring整合MyBatis流程:(核心配置、SQL映射)

在这里插入图片描述

使用SpringBoot整合MyBatis则是:
  • 创建模块时勾选MyBatis和MySQL的技术集(用什么技术就勾什么技术,一个勾就是有一个坐标 ==> boot的一个特色)

在这里插入图片描述
在这里插入图片描述

  • 设置数据源参数

在这里插入图片描述

到此,整合完成,整合第三方框架都是统一的:导入相关依赖、添加相关配置。接下来定义个Mapper接口简单测试一下:

在这里插入图片描述

单元测试中看下效果:

在这里插入图片描述

3、SpringBoot整合MyBatisPlus

使用官网版地址创建模块,技术集勾选时找不到MyBatisPlus,可使用阿里云版地址。这里直接导入MP的坐标,不再使用勾选的方式:

<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.4.3</version>
</dependency>
<!--由于SpringBoot中未收录MyBatis-Plus的坐标版本,需要指定对应的Version-->

在这里插入图片描述

相关配置:

spring:
  datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/ssm_db
  username: root
  password: root
# 注意,使用MP不再出现SQL了,MP默认的根据类名找表名,只是大小写转换
# 表名和实体类之间如果不是大小写转换的关系,如表名有统一前缀tb_
# 则需要在配置中指定一下:
mybatis-plus:
  global-config:
    db-config:
      table-prefix: tb_

继承BaseMapper来简化开发,传入实体类:

@Mapper
public interface UserDao extends BaseMapper<User> {
}

4、SpringBoot整合Druid

去mavenrepository中查找druid的坐标:

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid-spring-boot-starter</artifactId>
	<version>1.2.6</version>
</dependency>

刷新maven后写配置:

spring:
  datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/ssm_db
  username: root
  password: root
  type: com.alibaba.druid.pool.DruidDataSource  # 指定type,即数据源类型

以上这个使用type的写法是通用性的写法,也可以使用druid专用的配置写法:

spring:
  datasource:
    druid:   # !!!
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
      username: root
      password: root

整合任意第三方技术的核心就是:

  • 导入对应的starter
  • 配置对应的设置或采用默认配置
Logo

纵情码海钱塘涌,杭州开发者创新动! 属于杭州的开发者社区!致力于为杭州地区的开发者提供学习、合作和成长的机会;同时也为企业交流招聘提供舞台!

更多推荐