SpringBoot2基础篇(三)—— 整合第三方技术

03、整合第三方技术

3.1、整合JUnit

1、SpringBoot整合JUnit

@SpringBootTest
class Springboot04JunitApplicationTests {
   //1.注入需要测试的对象
   @Autowired
   private BookDao bookDao;

   @Test
   void contextLoads() {
      //2.执行要测试的对象对应的方法
      bookDao.save();
   }
}

2、SpringBootTest

  • 名称:@SpringBootTest
  • 类型:测试类注解
  • 位置:测试类定义上方
  • 作用:设置JUnit加载的SpringBoot启动类
  • 相关属性
    • classes:设置SpringBoot启动类
  • 范例:

在这里插入图片描述

小结:

  1. 导入测试对应的starter

    在这里插入图片描述

  1. 测试类使用@SpringBootTest修饰

  2. 使用自动装配的形式添加要测试的对象

3、此时,将测试类换个位置存放,则无法运行该测试类

则需要使用classes属性来指定引导类

@SpringBootTest(classes = Springboot04JunitApplication.class)
class Springboot04JunitApplicationTests {}

注意:

如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,也就是省略classes的设定

小结:

  1. 测试类如果存在于引导类所在包或子包中无需指定引导类
  2. 测试类如果不存在于引导类所在的包或子包中需要通过classes 属性指定引导类

3.2、整合MyBatis

1、需要配置:

  • 核心配置:数据库连接相关信息(连什么?连谁?什么权限?)
  • 映射配置:SQL映射(XML/注解)

2、步骤:

①:创建新模块,选择Spring初始化,并配置模块相关基础信息

②:选择当前模块需要使用的技术集(MyBatis、MySQL)

在这里插入图片描述

③:设置数据源参数

#2、配置相关信息
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: root

④:定义数据层接口与映射配置

@Mapper
public interface BookDao {
    @Select("select * from tbl_book where id = #{id}")
    public Book getById(Integer id);
}

⑤:测试类中注入dao接口,测试功能

@SpringBootTest
class Springboot05MybatisApplicationTests {
    @Autowired
    private BookDao bookDao;

    @Test
    void contextLoads() {
        Book book = bookDao.getById(1);
        System.out.println(book);
    }
}

小结:

  1. 勾选MyBatis技术,也就是导入MyBatis对应的starter
  2. 数据库连接相关信息转换成配置
  3. 数据库SQL映射需要添加@Mapper被容器识别到

3、SpringBoot整合MyBatis常见问题

MySQL 8.X驱动强制要求设置时区

  • 修改url,添加serverTimezone设定

    • SpringBoot版本低于2.4.3(不含),Mysql驱动版本大于8.0时,需要在url连接串中配置时区

      url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
      
  • 修改MySQL数据库配置(略)

②驱动类过时,提醒更换为com.mysql.cj.jdbc.Driver

driver-class-name: com.mysql.cj.jdbc.Driver

3.3、整合MybatisPlus

1、MyBatis-PlusMyBatis区别

  • 导入坐标不同
  • 数据层实现简化

2、步骤

①:手动添加SpringBoot整合MyBatis-Plus的坐标,可以通过mvnrepository.com获取

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3</version>
</dependency>

注意:

由于SpringBoot中未收录MyBatis-Plus的坐标版本,需要指定对应的Version

②:定义数据层接口与映射配置,继承BaseMapper

@Mapper
public interface BookDao extends BaseMapper<Book> {
}

③:设置Mp相关的配置

#设置Mp相关的配置
#给所有的表加一个前缀tb_
mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_

④:其他同SpringBoot整合MyBatis

小结:

  1. 手工添加MyBatis-Plus对应的starter
  2. 数据层接口使用BaseMapper简化开发
  3. 需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标

3.4、整合Druid

  • 指定数据源类型
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
  • 导入Druid对应的starter
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version>
</dependency>
  • 变更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

3.5、总结

整合任意第三方技术

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值