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

2023-09-17 15:23:35


在这里插入图片描述

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
  • 配置对应的设置或采用默认配置
更多推荐

【面试刷题】——Linux基础命令

Linux基础命令是在Linux操作系统中执行常见任务的一组命令。以下是一些常用的Linux基础命令,它们用于管理文件系统、执行系统任务、查看文件内容等。文件和目录操作:ls:列出目录中的文件和子目录。pwd:显示当前工作目录的路径。cd:更改当前工作目录。mkdir:创建新目录。rmdir:删除空目录。touch:创

Python办公自动化之Word

Python操作Word1、Python操作Word概述2、写入Word2.1、标题2.2、章节与段落2.3、字体与引用2.4、项目列表2.5、分页2.6、表格2.7、图片3、读取Word3.1、读取文档3.2、读取表格4、将Word表格保存到Excel5、格式转换5.1、Doc转Docx5.2、Word转PDF1、P

【word日常操作】word里面表格已经设置了重复标题行,但是显示无效怎么办

在制作表格的过程当中,相信很多人都知道,表格不只有一页的时候就会在下一面,也会显示出来,然而这时我们需要让word表头重复出现,那么该怎么办呢?1出现问题word表格如何设置多页时能重复表头,百度后出现了如下步骤:1.选中表头(标题行)2.点击鼠标右键3.点击“表格属性”4.点击“行”,在选项框中勾选“在各页顶端以标题

Linux:centos9的本地yum仓库配置

其实9和7的配置方法是差不多一样的,只不过你使用7的本地yum仓库里面直接挂载就可以直接把仓库位置指向挂载点具体可以看我往期文章,但是先看完我下面的描述再去看我链接的文章才能看懂如何配置centos9的yum仓库Linux:YUM仓库服务_鲍海超-GNUBHCkalitarro的博客-CSDN博客https://blo

北京映急物流有限公司 面试.net软件工程师岗位

请实现以下算法,语言不限,也可以是伪代码。1.有一个数组a[1000]存放了1000整数,这1000个数都大于等于1,小于等于999,并且只有两个数是相同的,剩下的998个数均不相同。请写一个最优搜索算法,找出相同的那个数的值,并给出该算法的时间复杂度。两种方法,1、先把数组从小到大排序,再用二分法查找。2、运用冒泡排

JavaScript笔记——快速了解 ES6 新增字符串方法,开箱即用(含案例)

文章目录📋前言🎯includes()方法🎯startsWith()方法🎯endsWith()方法🎯repeat()方法🎯padStart()方法🎯padEnd()方法🎯trim()方法🎯trimStart()或trimLeft()方法🎯trimEnd()或trimRight()方法🎯replace

使用docker-compose 部署 MySQL8.0

目录一、拉取MySQL镜像二、创建挂载目录三、添加配置文件my.cnf(没有特殊需求可以跳过)四、编写docker-compose.yml文件五、启动容器六、运行后查看启动容器的情况七、连接测试一、拉取MySQL镜像我这里使用的是MySQL8.0.18,可以自行选择需要的版本。dockerpullmysql:8.0.1

OpenCV实战(31)——基于级联Haar特征的目标检测

OpenCV实战(31)——基于级联Haar特征的目标检测0.前言1.Haar特征图像表示2.基于级联Haar特征的二分类分类器3.级联分类器算法流程4.使用Haar级联检测器进行人脸检测5.完整代码小结系列链接0.前言在机器学习基础一节中,我们介绍了机器学习的一些基本概念,并通过使用不同类别的样本来构建分类器。但这种

基于网络表示学习的 新闻推荐算法研究与系统实现

摘要第1章绪论新闻推荐通常是利用用户的阅读行为和习惯、阅读选择和爱好等信息,为用户推荐新闻内容。新闻推荐能够减少用户在数量庞大数据信息中获取信息的时间消耗,从而能够缓解“信息过载[7]”的难题。以文本为内容的新闻,和商品、电影、短视频等推荐系统相比,新闻推荐系统自身的特点限制了该领域的发展速度,比如新闻的实时性和热点性

行云管家全面适配信创国产化平台 助力政企信创环境下数字化转型与安全运维

近日,作为云计算管理及信息安全领域优秀的产品服务提供商,深圳市行云绽放科技有限公司宣布旗下行云管家系列产品已全面适配信创国产化平台,包括CPU、服务器、数据库、浏览器等,为政企客户提供符合信创环境要求的云计算管理与信息安全运维服务。随着国家对信创产业的重视和支持力度不断加大,行云管家积极响应国家号召,致力于为政企客户提

助力工业物联网,工业大数据之安装事实指标需求分析【二十一】

文章目录1:安装事实指标需求分析2:安装事实指标构建1:安装事实指标需求分析目标:掌握DWB层安装事实指标表的需求分析路径step1:目标需求step2:数据来源实施目标需求:基于设备安装信息统计安装设备个数、收费安装个数、审核安装个数等指标全新安装数量:install_type=1联调安装数量:install_way

热文推荐