栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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-Plus和MyBatis区别

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

2、步骤

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


    com.baomidou
    mybatis-plus-boot-starter
    3.4.3

注意:

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

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

@Mapper
public interface BookDao extends BaseMapper {
}

③:设置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

    com.alibaba
    druid-spring-boot-starter
    1.2.6

  • 变更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
  • 配置对应的设置或采用默认配置
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039695.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号