欢迎光临散文网 会员登陆 & 注册

SSM框架 | 袁庭新老师手把手带你实现Spring+SpringMVC+MyBatis框架整合

2023-10-25 14:31 作者:袁庭新  | 我要投稿

我们已经学习了Spring、SpringMVC和MyBatis框架,那么这三个框架如何结合在一块儿使用呢?首先,需要将者三个框架进行整合。那么,袁老师就给大家安排上。本节袁老师将给大家介绍SSM框架的整合流程,并带大家最终完成Web应用程序的开发。袁老师保证,只要你认真看完,肯定会有斩获哦。

01 项目环境搭建

1.1 搭建项目结构

首先我们要选择【Java Enterprise】选项,将项⽬名称设置为ssm-integration。项⽬的GAV坐标中GroupId的值设置为com.cy.ssm,Artfact选项的值设置为controller,并将Project template选项的值设置成Web application,其他保持默认。

然后要将项⽬com.cy.controller包下⾃动⽣成的HelloServlet类删除,并将webapp⽂件夹下⾃动⽣成的index.jsp⽂件删除。

之后在项目的com.cy.ssm包下创建pojo、mapper、service、service.impl、controller的包结构。

最后就可以在webapp目录下创建css、img、js等文件夹,并在WEB-INF目录下创建pages文件夹了。

1.2 配置Tomcat

我们可以在IDEA窗口的右上角点击【Add Configurations】按钮,打开Run/Debug Configurations窗口。

接着在Run/Debug Configurations窗口中点击【+】号,选择Tomcat Server选项下的Local选项。点击右下角的【Fix】选项。

然后在Deployment选项下点击【+】号按钮,选择【Artifact】选项,在新打开的窗口中选择【ssm-integration:war expolded】选项。

最后启动Tomcat服务器,访问下面地址,进行初始化环境测试。

1.3 添加SSM依赖

修改pom.xml文件,首先将编译版本改为11版本(根据安装的JDK版本来确定配置的编译版本)。

在pom.xml文件中添加SSM框架所需的相关依赖配置。

02 Spring环境搭建

下面先跟袁老师来搭建Spring环境,主要是Spring配置以及Spring环境测试,最后我们再配置log4j日志。

2.1 Spring配置

在resources目录下,创建applicationContext.xml配置文件。

在web.xml配置文件中添加在Web容器启动时就加载Spring的核心配置文件applicationContext.xml。

2.2 Spring容器整合技巧

1.整合思路

此时项目中有两个工厂:

  • DispatcherServlet启动的SpringMVC工厂,负责生产Controller及SpringMVC自己的系统组件。

  • ContextLoaderListener启动的Spring工厂,负责生产其他所有组件。

  • SpringMVC的工厂会被设置为Spring工厂的子工厂,可以随意获取Spring工厂中的组件。

  • 整合过程,就是累加:代码+依赖+配置。然后将Service注入给Controller即可。

2.整合技巧实现

两个工厂不能有彼此侵入,即生产的组件不能有重合。在applicationContext.xml文件中添加开启组件扫描的配置。

2.3 Spring环境测试

在src/test/java包下创建com.cy.ssm包,并在该包下创建SpringTests测试类,测试Spring的环境是否正常。

2.4 log4j配置

在运行上述testSpring()单元测试时,控制台会提示log4j:WARN的警告信息。

在项目的resources文件夹下创建log4j.properties文件,并在log4j.properties文件中添加log4j日志的配置信息,这一步的前提是需要导入log4j的依赖。

03 Spring整合MyBatis

3.1 MyBatis配置

1.MyBatis核心配置文件

在src/main/resources目录下,创建MyBatis的核心配置文件mybatis-config.xml。

在mybatis-config.xml配置文件中开启驼峰映射和二级缓存。

2.MyBatis数据源文件

在src/main/resources目录下创建mappers文件夹,将来用于存放MyBatis的映射文件。在src/main/resources目录下创建jdbc.properties数据源文件。

注意:在jdbc.properties配置文件中数据库的连接名不能使用username的属性名,否则会报错。因此在数据源文件中添加固定前缀以区分。

3.2 Spring整合MyBatis实现

1.Druid连接池配置

在applicationContext.xml配置文件中添加MyBatis框架的整合以及配置事务控制。

2.Druid监控中心配置

在当前的项目的web.xml文件中添加Druid的StatViewServlet组件的配置。

测试Druid监控中心。访问以下地址进行测试。

Druid访问的语法url格式:http://ip:port/project/druid/index.html

3.3 整合MyBatis

1.导入依赖

在pom.xml文件中导入spring-jdbc和mybatis-spring依赖。

2.配置SqlSessionFactoryBean

在applicationContext.xml核心配置文件中配置SqlSessionFactoryBean工厂。

3.配置MapperScannerConfigurer

在applicationContext.xml文件中添加Mapper扫描器MapperScannerConfigurer的配置。作用是:管理Mapper实现类的创建,并创建Mapper对象,存入工厂管理。

  • 扫描所有Mapper接口,去构建Mapper实现。

  • 将Mapper实现存入工厂管理。

  • Mapper实现对象在工厂中的id是:“首字母小写的接口的类名”。

说明:MapperScannerConfigurer类是Spring框架和MyBatis框架整合时mybatis-spring依赖提供的一个类。其作用是自动扫描,将Mapper接口生成代理注入到Spring容器中。

4.配置DataSourceTransactionManager

在applicationContext.xml文件中配置事务管理器。事务管理器其中持有DataSource对象,可以控制事务功能(commit和rollback等)。

注意:DataSourceTransactionManager和SqlSessionFactoryBean要注入同一个DataSource的Bean,否则事务控制失败。

5.配置事务通知

基于事务管理器进一步定制,生成一个额外功能Advice。此Advice可以切入任何需要事务的方法,通过事务管理器为方法控制事务。我们可以在applicationContext.xml文件中配置事务规则和AOP切面。

3.4 MyBatis环境测试

在src/test/java下的com.cy.ssm包下创建MyBatisTests测试类,测试MyBatis的环境是否正常。

注意:获取的org.mybatis.spring.SqlSessionFactoryBean类型的对象需要使用SqlSessionFactory类型来接收。否则会抛出类型转化异常,具体见下:

04 SpringMVC整合

4.1 SpringMVC配置

在resources目录下创建springmvc-servlet.xml配置文件,并在文件中添加SpringMVC的相关配置。

在web.xml文件中添加SpringMVC框架的前端控制器的配置,以及字符编码过滤器的配置和服务器启动页的配置。

4.2 SpringMVC环境测试

在controller包下创建TestController类,并添加处理test请求的处理方法。

启动Tomcat服务器,访问如下地址进行测试。

响应结果见下:

05 SSM架构总结

通过以上关于SSM框架的介绍,相信通过对SSM框架的整合流程有了很深入的了解。在Spring+SpringMVC+MyBatis架构下,框架之间的职责分工见下图:

通过上图的分析,是不是对SSM框架负责的模块理解的更加深刻了。这篇文章我们主要介绍了Spring环境的大家,以及如何使用Spring整合MyBatis框架和SpringMVC框架的整合。通过以上内容的学习,相信各位小伙伴一定可以自行搭建起SSM框架的架构环境。好了,关于SSM框架的搭建内容袁老师就给大家介绍到这里。


SSM框架 | 袁庭新老师手把手带你实现Spring+SpringMVC+MyBatis框架整合的评论 (共 条)

分享到微博请遵守国家法律