3. SpringBoot 整合第三方技术

news/2024/10/9 20:29:01

1. 整合Junit

一般来说是不需要进行处理的 ,因为在创建SpringBoot 工程时 ,会自动整合junit​的

要说怎么配置的话?也可以写一下相关的配置:以下就是SpringBoot 整合 Junit 相关步骤

  1. 导入相关依赖

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
    </dependency>
    
  2. @SpringBootTest​注解 , 也可以使用 classes​ 属性指定引导类的字节码对象。如 @SpringBootTest(classes = Springboot07TestApplication.class)

    image

  3. 测试结果显示:

    image

2. 整合MyBatis

整合步骤如下:

  1. 创建SpringBoot 工程的时候 ,勾选SQL 下的 MyBatis Framework​ 和 MySQl Dirver​ 依赖
  2. application.yml​ 文件中写入数据库连接信息
  3. 编写代码并进行测试

相关依赖如下:这里复制所有依赖的原因是因为我在整合的时候 ,因为依赖的原因报错了

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.18</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.north</groupId><artifactId>springboot-008-mybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot-008-mybatis</name><description>springboot-008-mybatis</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.2</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>3.0.3</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>6.0.13</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version><scope>compile</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

application.yml​文件中编写数据库连接信息

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?erverTimezone=UTCusername: rootpassword: root

编写接口​进行数据测试 (这里写的时候 ,我居然还把SQL语句给写错了😂😂😂)

/*** @Author North* @Date 2024/5/5*/
@Mapper
public interface BookDao {@Select("select * from tbl_book where id = #{id}")Book getById(Integer id);
}

测试类​中进行测试

@SpringBootTest
class Springboot008MybatisApplicationTests {@Autowiredprivate BookDao bookDao;@Testpublic void testSelectById() {Book book = bookDao.getById(2);System.out.println(book);}
}

测试结果如下:

image

3. 整合MyBatis-Plus

这里说一下MyBatis-Plus 与 MyBatis 的区别

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

  • 整合MyBatis-Plus依赖的步骤如下

    • 创建SpringBoot 工程的时候 ,勾选SQL 下的 MySQl Dirver​ 依赖 ,因为MyBatis-Plus是国人开发的并没有在官方中有所显示
    • 手工添加MyBatis-Plus对应的starter
    • 数据层接口使用BaseMapper​简化开发

手工添加MyBatis-Plus对应的starter

        <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.5</version></dependency>

application.yml​文件中编写数据库连接信息

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?erverTimezone=UTCusername: rootpassword: rootmybatis-plus:global-config:db-config:table-prefix: tbl_

数据层接口使用BaseMapper​简化开发

/*** @Author North* @Date 2024/5/5*/
@Mapper
public interface BookMapper extends BaseMapper<Book> {
}

测试代码如下:

@SpringBootTest
class Springboot010TestApplicationTests {@Autowiredprivate BookMapper bookMapper;@Testvoid testSelectById() {System.out.println(bookMapper.selectById(1));}
}

测试结果如下:

image

4. 整合Druid

  • 整合Druid的步骤

    • 整合Druid​需要导入Druid对应的starter
    • 根据Druid提供的配置方式进行配置
  • 整合第三方技术通用方式

    • 导入对应的starter
    • 根据提供的配置格式 ,配置非默认值对应的配置项

导入Druid相关的依赖

		<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.6</version></dependency>

配置yml文件 : 这里注意下 druid 的位置

spring:datasource:druid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ssm_db?erverTimezone=UTCusername: rootpassword: root

其余的步骤和整合MyBatis步骤想同

结果演示:

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27883.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

5.5

推一下手机壁纸

[转]IRIG-B码授时工作原理

在授时设备中有一种是B码授时的,但是大部分人不太清楚何为B码授时?这种类型的授时工作原理是怎么样? 首先我们要知道什么是B码,然后再介绍它的授时工作原理,B码是一种电力术语,它是IRIG-B码的通俗叫法,英文全称是inter-range instrumentationgroup-B,是在2020年公布的电…

2024 年12个好用的开源 Wiki 软件工具盘点

Wiki是一个集中式的、基于网络的平台,使员工可以轻松地访问和记录信息。简单来说,它是一个可靠信息的统一来源。在任何成功的公司中,部门间的知识共享是至关重要的。如果没有一个简单的信息交流方法,团队怎样才能有效合作呢?Wiki软件提供了一种创建、组织及在全公司范围内…

讯飞听见软件介绍

讯飞听见是一款智能语音转文字软件,具有以下功能: • 实时语音转文字:支持录音实时转文字,准确率较高,且能自动区分角色和分段。 • 实时翻译:提供 8 国语种随时互译。 • 边录边拍:可以在录音的同时拍照记录,方便重点标记。 • 悬浮字幕:支持在观看视频时实时显示悬浮…

快速入门一篇搞定RocketMq-实现微服务实战落地

1、RocketMq介绍 RocketMQ起源于阿里巴巴,最初是为了解决邮件系统的高可靠性和高性能而设计的。在2016年开源分布式消息中间件,并逐渐成为Apache顶级项目。现在是Apache的一个顶级项目,在阿里内部使用非常广泛,已经经过了"双11"这种万亿级的消息流转,性能稳定、…

Apache Shiro 721反序列化漏洞Padding Oracle Attack

Shiro721序列化是利用已登录用户的合法RememberMe Cookie值,然后从密码学的角度来攻击,构造Pyload。目录漏洞原理复现修复方式 漏洞原理 Shiro 的RememberMe Cookie使用的是 AES-128-CBC 模式加密。其中 128 表示密钥长度为128位,CBC 代表Cipher Block Chaining,这种AES算法…

Camunda User Task:Task Listeners

代码实现:@Component("testTaskListener") public class UserTaskListener implements TaskListener {@Overridepublic void notify(DelegateTask delegateTask) {} }

Camunda 流程执行错误处理ERROR BOUNDARY EVENT

ERROR BOUNDARY EVENT:在任务发生异常时候会触发走,在代码中必须显式抛出throw new BpmnError("error.....");public void execute(DelegateExecution delegateExecution) throws Exception {System.out.println("进来了>>>>>>>>>…