SpringBoot基础篇(三)

文章介绍了SpringBoot如何轻松整合Junit、MyBatis、MyBatisPlus和Druid等技术。通过导入相关starter,配置数据源,以及使用特定注解,可以快速实现这些框架的集成。在SpringBoot中,整合工作变得相对简单,例如SpringBoot整合Junit只需使用@SpringBootTest注解,而MyBatis的整合则涉及到Mapper接口和XML配置文件的设定。
摘要由CSDN通过智能技术生成

四.springboot整合第三方技术

4.1 SpringBoot整合第三方技术通用步骤

springboot整合第三方技术相比于spring非常简单,仅需按照下面的步骤即可完成整合:

  1. 导入相关的stater

  2. 在配置文件中进行配置或采用默认配置

  3. 使用第三方技术所提供的API

4.2 SpringBoot整合Junit

1.Spring整合JUnit

  • @RunWith:设置Spring专用的测试类运行器

  • @ContextConfiguration:用来设置Spring核心配置文件或配置类的

//加载spring整合junit专用的类运行器
@RunWith(SpringJUnit4ClassRunner.class)
//指定对应的配置信息
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTestCase {
    //注入你要测试的对象
    @Autowired
    private AccountService accountService;
    @Test
    public void testGetById(){
        //执行要测试的对象对应的方法
        System.out.println(accountService.findById(2));
    }
}

2.SpringBoot整合JUnit

第一步:导入相关 starter

junit和springboot的整合坐标在创建springboot项目时会默认提供。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <version>3.1.0</version>
    <scope>test</scope>
</dependency>

第二步:在测试类上添加 @SpringBootTest 注解

使用一个注解 @SpringBootTest 替换前面两个注解。内部其实和之前一样,只不过都走默认值。

@SpringBootTest
class Springboot04JunitApplicationTests {
    //注入你要测试的对象
    @Autowired
    private BookDao bookDao;
    @Test
    void contextLoads() {
        //执行要测试的对象对应的方法
        bookDao.save();
        System.out.println("two...");
    }
}

加载的配置类或者配置文件是哪一个:就是我们前面启动程序使用的引导类。如果想手工指定引导类有两种方式,

  • 第一种方式使用属性的形式进行,在注解@SpringBootTest中添加classes属性指定配置类

  • 第二种方式回归原始配置方式,仍然使用@ContextConfiguration注解进行,效果是一样的

4.3 SpringBoot整合MyBatis

第一步:导入相关 starter

<dependencies>
    <!--springboot和Mybatis的整合坐标-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>
    <!--MySQL的驱动坐标-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

第二步:配置数据源相关信息

其实在这一步,整合就已经结束了,后面就可以在springboot中直接使用Mybatis了

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: root

第三步:定义持久层接口与映射配置

1.注解方式

@Mapper
public interface UserDao {
    @Select("select * from user")
    public List<User> getAll();
}

2.xml方式

在 springboot 中如果使用了 MyBatis-Plus 作为 MyBatis 的增强工具,那么 mapper 接口所在的包无需和映射文件在同一个包下,只需在 resources 下面创建一个 mapper 文件夹,在里面创建 mapper.xml 文件即可。

第四步:测试类中注入 dao 接口,测试功能

@SpringBootTest
class Springboot05MybatisApplicationTests {
    @Autowired
    private UserDao userDao;
    @Test
    void contextLoads() {
        System.out.println(userDao.getAll());
    }
}

4.4 SpringBoot整合MybatisPlus

第一步:导入相关 starter

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

第二步:配置数据源相关信息

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db
    username: root
    password: root

4.5 springboot整合Druid

在没有指定数据源时,我们的配置如下:

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

此时虽然没有指定数据源,但是根据SpringBoot的德行,肯定帮我们选了一个它认为最好的数据源对象,这就是HiKari。通过启动日志可以查看到对应的身影。

2021-11-29 09:39:15.202  INFO 12260 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-11-29 09:39:15.208  WARN 12260 --- [           main] com.zaxxer.hikari.util.DriverDataSource  : Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
2021-11-29 09:39:15.551  INFO 12260 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.

上述信息中每一行都有HiKari的身影,如果需要更换数据源,其实只需要两步即可。

第一步:导入相关坐标

注意,是坐标,此处不是starter

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>

第二步:修改配置,在数据源配置中有一个 type 属性,专用于指定数据源类型

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真滴book理喻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值