• 【SpringBoot】整合第三方技术


    👉 博客主页:准Java全栈开发工程师
    👉 00年出生,即将进入职场闯荡,目标赚钱,可能会有人觉得我格局小、觉得俗,但不得不承认这个世界已经不再是以一条线来分割的平面,而是围绕财富旋转的球面,成为有钱人不是为了去掌控球体的转向,而是当有人恶意掌控时,努力保护好家人和自己。


    在学习 Spring 技术时,我们就涉及到了整合 JUnit、整合 MyBatis 等问题,但是当我们使用了 SpringBoot 技术后,这些整合工作就会显得非常的轻松加愉快,因为有很多操作我们都不需要自己动手做,而是 SpringBoot 给我们提供好的。不信的话,那就往下看看吧。

    一、SpringBoot 整合 JUnit

    Spring 是如何整合的?

    • 如果使用 Spring 技术整合 JUnit,首先我们需要导入相应的 jar 包,之后编写测试类,在测试类中需要使用 @RunWith 注解设置测试类运行器,@ContextConfiguration 注解设置 Spring 的核心配置类,在方法上使用 @Test 注解表明为测试方法。详细配置内容见文章 Spring 整合 JUnit
    • 此时,可能会有人疑问了,这不就导个 jar 包,写几个注解吗?SpringBoot 能比这简单多少?!

    SpringBoot 是如何整合的?

    • 首先,使用 SpringBoot 我们是不需要自己导 jar 包的,因为在创建完项目后,pom.xml 文件中就已经为我们配置好了相关启动依赖。
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 除此之外,SpringBoot 也给我们提供了一个测试类。
    @SpringBootTest
    class DemoApplicationTests {
        @Test
        void contextLoads() {
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 只需要在类上加上 @SpringBootTest 即可代替 Spring整合是复杂的注解配置。
    • 方法上使用 @Test 注解还是一样的。
    • 具体的测试工作,我在此就不进行了,大家可以根据自己的需要自行测试。

    二、SpringBoot 整合 SSM

    • 首先,我们需要清楚 SSM 分别指的是什么?Spring、SpringMVC、MyBatis
    • 清楚了 SSM 代表什么之后,我们还需要了解 SpringBoot 是 Spring 系列的,SpringMVC 也是 Spring 系列的,得出结论,Spring、SpringMVC、SpringBoot 是一个系统的,其实通过名字也能够感觉出它们之间应该是有点什么关系,既然都是同一个系列的,那自然它们之间是不存在整合问题的,那么,我们就得出想要整合 SSM ,其实我们只需要完成 SpringBoot 和 MyBatis 的整合操作就可以了。
    • 当然,在学习 Spring 技术时,我们也涉及到了整合 MyBatis 的操作,那么,谁的整合操作更加的简便呢?

    Spring 是如何整合 MyBatis 的?

    • 博主之前也发表过 Spring 整合 MyBatis 的文章,原文链接: 注解方式实现 Spring 整合 MyBatis ,有需要的可以移步到该文章中查看,但是我相信,你看完 SpringBoot 整合 MyBatis 的操作后一定就不想再用 Spring 来整合 MyBatis 了。
    • 下图为 Spring 整合 MyBatis 的步骤图。
      在这里插入图片描述

    SpringBoot 是如何整合 MyBatis 的?

    • 在创建 SpringBoot 项目时,添加依赖时除了勾选 Spring Web 外,还需要勾选 MyBatis 和 MySQL 的相关内容(如果你使用的是 MyBatis 或 Oracle,勾选自己需要的即可)。

    在这里插入图片描述

    • 创建完成后,去 pom.xml 文件中查看,能够发现,他已经自动的添加了相关依赖。

    在这里插入图片描述

    • 除此之外,我们也无需在写那些配置类,只需要在配置文件中配置数据源即可。
    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/ssm
        username: root
        password: 123456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 以上是我的数据库信息,你们需要改为自己的数据库信息。
    • 截至到现在,我们已经完成了整合工作,是不是感觉还没开始就结束了呢?但就是这么的简便。
    • 下面我们可以简单测试一下是否能够成功取出数据。

    三、测试环境是否配置成功

    1、数据库 user 表

    在这里插入图片描述

    2、创建实体类 User

    public class User {
        private Integer id;
        private String username;
        private Integer age;
        private String password;
        // 省略get、set、toString和构造器方法
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3、编写数据访问层 UserMapper

    @Mapper
    public interface UserMapper {
    	// 查询user表中的所有记录
        @Select("select * from user")
        public List<User> selectAll();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4、编写业务逻辑层

    接口 UserService
    public interface UserService {
        public List<User> selectAll();
    }
    
    • 1
    • 2
    • 3
    接口实现类 UserServiceImpl
    @Service
    public class UserServiceImpl implements UserService {
        @Autowired
        private UserMapper userMapper;
        
        @Override
        public List<User> selectAll() {
            return userMapper.selectAll();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5、暂不编写表现层

    因为只是为了测试环境是否搭建成功,暂不需要使用表现层。

    6、编写测试类

    @SpringBootTest
    class OriginApplicationTests {
        @Autowired
        private UserService userService;
    
        @Test
        void contextLoads() {
            List<User> users = userService.selectAll();
            System.out.println(users);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    7、测试结果

    在这里插入图片描述

    • 正确查询出数据,说明环境配置成功,可以进行项目的开发工作了。

    补充:时区问题

    • 有人反映说在启动项目后,报错了。

    在这里插入图片描述

    • 这是因为 SpringBoot 之前的版本连接数据库时会出现时区问题,我们在配置数据源时添加上对应的时区代码即可。

    在这里插入图片描述

    • 添加后,就能够成功启动项目获取到数据啦。

    👉 以上就是文章的全部内容啦,诸佬如果有任何建议都可以提哦。
    👉 创作不易,如果觉得对您有帮助的话,欢迎关注✨点赞👍收藏📂哦。

  • 相关阅读:
    浅浅的聊一下 WebSocket
    移动端输入框的失焦事件和按钮事件冲突
    linux安装达梦数据库8
    OpenAI新推出的Sora是什么?如何注册使用?
    Linux进程地址空间
    java-php-net-python-个人信息管理系统计算机毕业设计程序
    Vue 在同一个页面里在不同的router-view里展示页面信息
    Rasa系列教程(一) -- 系统及各组件介绍
    场景实践:基于函数计算快速搭建Wordpress博客系统
    【英语:基础高阶_经典外刊阅读】L6.解题真功夫—阅读理解选择题
  • 原文地址:https://blog.csdn.net/Coder_Farmer/article/details/125359738