说明:
(1)本篇博客合理性解释:
● 在【SSM开发慕课书评网5:项目准备与SSM整合三:Spring与Mybatis整合;(引依赖,配置数据源,配置SqlSessionFactory,配置Mapper接口扫描器,创建mybatis配置文件)】 中,介绍了Spring与Mybatis配置;
● 但是,在实际开发中,还需要增加【声明式事务】、【日志模块】、【单元测试框架】等内容;本篇博客主要介绍配置这些模块;
● 然后,本篇博客在整合的时候,也进行了测试;
目录
零:【logback日志】,【声明式事务】 ,【JUnit单元测试】:简述;
1.在pom.xml中引入【spring-test模块】和【junit单元测试依赖】;
2.测试【JUnit单元测试】,同时也走了一遍【Spring与Mybatis整合后的,访问数据库的流程!!!】;
2.在resources目录下,创建logback.xml文件,并通过基本配置,看下是否OK;
1.配置【声明式事务】;(这儿我们使用注解形式,来配置声明式事务)
零:【logback日志】,【声明式事务】 ,【JUnit单元测试】:简述;
除了把Mybatis和Spring整合在一起之外,为了辅助工程能够更好的开发,还需要额外配置三项内容:
说明:
(1)配置logback日志输出:通过logback,可以在程序运行过程中,更清晰的看到程序的执行过程,以及有哪些潜在问题;
(2)声明式事务配置:声明式事务比编程式事务更简单和灵活,可以简化事务控制代码;
● Mybatis中也有事务控制机制,只是有点麻烦;
● Spring JDBC中有编程式事务和声明式事务;其中,声明式事务相对比较灵活;
(3)整合JUnit单元测试:我们编写的程序,在正式发布前需要单元测试;这个组件能够提高测试的效率;
一:整合【JUnit单元测试】;
1.在pom.xml中引入【spring-test模块】和【junit单元测试依赖】;
spring对JUnit有着很好的支持;
<!--单元测试依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
说明:
(1)第一次接触JUnit单元测试,可以参考【单元测试与Junit4】;
(2)第一次接触【spring-test测试模块】,可以参考【Spring IoC容器与Bean管理27:Spring Test测试模块;Spring与JUnit4整合;(@RunWith,@ContextConfiguration)】;
(3)当我们在项目中引入这些依赖后,不需要任何配置,在这个Spring项目中,就可以利用JUnit完成单元测试了;
(4)【spring-test】的版本,尽量和上面引入的spring-webmvc的版本保持一致;
2.测试【JUnit单元测试】,同时也走了一遍【Spring与Mybatis整合后的,访问数据库的流程!!!】;
……………………………………………………
(0)声明:两点【我们使用Mybatis中的接口开发方式了】,【我们配置的Mapper扫描器,可以自动生成Dao层的Mapper接口的实现类了】;
● 首先,自【OA系统十二:设置默认首页顶部导航栏的用户名 ;(【基于Xml配置下,使用Mapper接口】的方式!!!!!)】开始,我们接触了Mybatis更普遍的开发方式:【基于Xml配置下,使用Mapper接口】,即Dao层都是接口,不是类了;
● 然后,在【Mybatis与Spring整合】中,我们配置了Mapper扫描器,这些扫描器的作用就是扫描Mapper接口,生成对应的实现类;
……………………………………………………
(1)TestMapper接口:一个仅供测试用的Mapper接口;
……………………………………………………
(2)test.xml:一个仅供测试用的xml文件;
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.imooc.reader.mapper.TestMapper"> <insert id="insert"> insert into test(content) values ('测试内容') </insert> </mapper>
说明:
(1)Mybatis的xml文件,第一遇到是在【MyBatis入门五:MyBatis基本使用三:MyBatisUtils工具类;以查询为例