[SpringBoot]SpringBoot 整合第三方技术
SpringBoot 整合 junit
回顾 Spring 整合 junit
使用 @RunWith 注解指定运行器,使用 @ContextConfiguration 注解来指定配置类或者配置文件。而 SpringBoot 整合 junit 特别简单,分为以下三步完成
在测试类上添加
SpringBootTest注解使用
@Autowired注入要测试的资源定义测试方法进行测试
环境准备
创建一个名为 springboot_07_test 的 SpringBoot 工程,工程目录结构如下
在 com.itheima.service 下创建 BookService 接口,内容如下
在 com.itheima.service.impl 包写创建一个 BookServiceImpl 类,使其实现 BookService 接口,内容如下
编写测试类
在 test/java 下创建 com.itheima 包,在该包下创建测试类,将 BookService 注入到该测试类中
==注意==:这里的引导类所在包必须是测试类所在包及其子包。我们的测试类会自动加载引导类来初始化 Spring 的环境。如果不在一个包里那么就找不着引导类了。
例如:
引导类所在包是
com.itheima测试类所在包是
com.itheima如果不满足这个要求的话,就需要在使用
@SpringBootTest注解时,使用classes属性指定引导类的字节码对象。如@SpringBootTest(classes = Springboot07TestApplication.class)
在这里我们认识了一个新的注解:
原来我们在 Spring 整合 Junit 的时候还要在类上面配上加载的配置文件(@ContextConfiguration(classes = SpringConfig.class))。我们在使用 SpringBoot 整合 Junit 的时候虽然没有明着写,但其实也加载了。我们的引导类其实启到了配置类的作用,它会把他所在的包及其子包全部扫描一遍,所以说我们写的 @Service 才能加载成 bean:
![]()
SpringBoot 整合 mybatis
回顾 Spring 整合 Mybatis
Spring 整合 Mybatis 需要定义很多配置类
SpringConfig配置类导入
JdbcConfig配置类导入
MybatisConfig配置类
JdbcConfig配置类定义数据源(加载 properties 配置项:driver、url、username、password)
MybatisConfig配置类定义
SqlSessionFactoryBean定义映射配置
SpringBoot 整合 mybatis
创建模块
创建新模块,选择
Spring Initializr,并配置模块相关基础信息
选择当前模块需要使用的技术集(MyBatis、MySQL)
定义实体类
在 com.itheima.domain 包下定义实体类 Book,内容如下
定义 dao 接口
在 com.itheima.dao 包下定义 BookDao 接口,内容如下
定义测试类
在 test/java 下定义包 com.itheima ,在该包下测试类,内容如下
编写配置
我们代码中并没有指定连接哪儿个数据库,用户名是什么,密码是什么。所以这部分需要在 SpringBoot 的配置文件中进行配合。
在 application.yml 配置文件中配置如下内容
测试
运行测试方法,我们会看到如下错误信息
错误信息显示在 Spring 容器中没有 BookDao 类型的 bean。为什么会出现这种情况呢?
原因是 Mybatis 会扫描接口并创建接口的代码对象交给 Spring 管理,但是现在并没有告诉 Mybatis 哪个是 dao 接口。而我们要解决这个问题需要在BookDao 接口上使用 @Mapper ,BookDao 接口改进为
==注意:==
SpringBoot版本低于 2.4.3(不含),Mysql 驱动版本大于 8.0 时,需要在 url 连接串中配置时区jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC,或在 MySQL 数据库端配置时区解决此问题
使用 Druid 数据源
现在我们并没有指定数据源,SpringBoot 有默认的数据源,我们也可以指定使用 Druid 数据源,按照以下步骤实现
导入
Druid依赖
在
application.yml配置文件配置可以通过
spring.datasource.type来配置使用什么数据源。配置文件内容可以改进为
版权声明: 本文为 InfoQ 作者【fake smile by】的原创文章。
原文链接:【http://xie.infoq.cn/article/b435902340fc1c50b186dc895】。未经作者许可,禁止转载。










评论