• 【基础篇】四、SpringBoot整合第三方技术



    在这里插入图片描述

    1、SpringBoot整合Junit

    步骤:

    • 导入测试对应的starter
    • 测试类使用@SpringBootTest修饰
    • 使用自动装配的形式添加要测试的对象
    @SpringBootTest
    class SpringbootJunitApplicationTests {
    
    	@Autowired
    	private BookService bookService;
    	
    	@Test
    	public void testSave(){
    		bookService.save();
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

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

    在这里插入图片描述

    关于@SpringBootTest注解:

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

    关于classes属性:

    在这里插入图片描述

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

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

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

    在这里插入图片描述

    2、SpringBoot整合MyBatis

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

    在这里插入图片描述

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

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

    • 设置数据源参数

    在这里插入图片描述

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

    在这里插入图片描述

    单元测试中看下效果:

    在这里插入图片描述

    3、SpringBoot整合MyBatisPlus

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

    <dependency>
    	<groupId>com.baomidougroupId>
    	<artifactId>mybatis-plus-boot-starterartifactId>
    	<version>3.4.3version>
    dependency>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    相关配置:

    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_
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

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

    @Mapper
    public interface UserDao extends BaseMapper<User> {
    }
    
    • 1
    • 2
    • 3

    4、SpringBoot整合Druid

    去mavenrepository中查找druid的坐标:

    <dependency>
    	<groupId>com.alibabagroupId>
    	<artifactId>druid-spring-boot-starterartifactId>
    	<version>1.2.6version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    刷新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,即数据源类型
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    以上这个使用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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    • 导入对应的starter
    • 配置对应的设置或采用默认配置
  • 相关阅读:
    回溯算法:排列树(全排列)
    FPGA之旅设计99例之第二十二例----Sobel算法边沿检测
    【赠书活动】AI时代项目经理必备技能
    机器人能否返回原点
    爬虫实战:从HTTP请求获取数据解析社区
    GoLong的学习之路(四)语法之循环语句
    vue3 provide inject
    小程序添加分享和禁用分享功能
    官宣出自己的博客啦
    Eigen稀疏矩阵操作
  • 原文地址:https://blog.csdn.net/llg___/article/details/132911595