SSM框架整合的知识。

不用maven,为什么呢?主要是帮助更好的理解有哪些包,这样更加透彻。当然了,使用maven会更方便一点。

1 jar包管理

2 整合思路

spring在进行管理时,是很有条理的,每个层都由spring管理,然后不同的层可以调用其它层,Handler调用service,service调用mapper等。根据这个架构,我们来总结一下整合的思路,根据这个调用关系,我们可以从下往上一步步整合。
1. 整合dao层。mybatis和spring整合,通过spring管理mapper接口。使用mapper的扫描器自动扫描mapper接口在spring中进行注册。2. 整合service层。通过spring管理 service接口。使用配置方式将service接口配置在spring配置文件中。实现事务控制。3. 整合springmvc。由于springmvc是spring的模块,不需要整合。

现在思路清晰了,接下来就开始整合了。在整合前先看一下我整合完的工程结构。

3 整合dao层

整合dao层也就是整合持久层,那么需要spring的核心包,持久层包,mybatis包,数据库以及连接池的包。所以将spring-persistence/spring-core/mysql-connector/mybatis/dbcp几个文件夹中的jar包拷贝到lib中。

mybatis全局配置文件

可以看出,整合的时候,这个全局配置文件已经很清爽了,基本没啥东东了,因为数据源啊、mapper啊啥的都交给spring去管理了。

配置Spring配置文件

配置完了mybatis的全局配置文件后,接下来就要配置spring的配置文件了,spring的配置文件我将分类写在不同的文件中,都放在config/spring/目录下了,这里是对dao的整合,所以起名applicationContext-dao.xml。

可以看出,整合dao层的时候主要配置一下数据源、sqlSessionFactory和mapper扫描器,这样的话,数据源,sqlSessionFactory和mapper在tomcat启动时就被spring实例化到了容器中。接下来就是准备po类及mapper了。

逆向工程生成po和mapper,使用逆向工程生成的代码如下:

4 整合Service层

之前提到过,service是用来调用mapper的,mapper是用来操作数据库的,其实上面的小插曲中的测试代码就有点类似service层做的事,先获取mapper接口的代理对象,然后操作数据库。

所以在service层,我们首先要获取mapper接口的代理对象,只不过在这里我们通过spring注入进来,然后通过这个代理对象去操作数据库。下面看一下整个整合的步骤:

先写Service接口

可以看出,这个接口和上面那个mapper接口其实是一样的,当然并不是说一定一样,只不过这里要实现的逻辑都一样而已。

Service实现类

可以看出,实现类中是通过@Autowired注入itemsMapperCustom,这个itemsMapperCustom是上面那个插曲中定义的一个mapper。

它会通过spring配的扫描器扫描到,并将对象装到spring容器中,然后在这注入进来,然后调用findItemsList方法来操作数据库。至于itemQueyVo,实际中,是将前台传来的数据封装进来,然后传进来的。这样就打通了service与dao之间的通道了。

配置applicationContext-service.xml

配置applicationContext-transaction.xml

5 整合springmvc

配置前端控制器

配置处理器映射器、处理器适配器和视图解析器

加载spring容器

在web.xml中添加spring容器监听器,加载spring容器。

关于SSM框架的整合,你会多少?欢迎在留言区评论!

spring boot mybatis 整合_Spring、MyBatis和SpringMVC的整合相关推荐

  1. Spring Boot基础学习笔记13:路径扫描整合Servlet三大组件

    文章目录 零.学习目标 一.创建Spring Boot项目 - IntegrateThreeComponents02 二.使用路径扫描方式整合Servlet三大组件 (一)创建MyServlet类 ( ...

  2. spring mvc mysql 实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` ch ...

  3. Spring Boot2.x-10 基于Spring Boot 2.1.2 + Mybatis 2.0.0实现多数据源,支持事务

    文章目录 概述 思路 步骤 Step1 多数据源配置文件applicaiton.yml Step2 初始化多个数据源 Step3 配置多个数据源 验证测试 支持事务 Step1 配置类中通过@Bean ...

  4. Spring Boot2.x-09 基于Spring Boot 2.1.2 + Mybatis使用自定义注解实现数据库切换

    文章目录 概述 场景说明:读写分离 操作步骤 工程结构 Step1 自定义注解 Step2 数据源定义 Step3 配置文件配置数据源 Step4 数据源实例化DatasourceConfig Ste ...

  5. Spring Boot (七)MyBatis代码自动生成和辅助插件

    一.简介 1.1 MyBatis Generator介绍 MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper.dao.entity 的框架 ...

  6. Spring Boot (八)MyBatis + Docker + MongoDB 4.x

    一.MongoDB简介 1.1 MongoDB介绍 MongoDB是一个强大.灵活,且易于扩展的通用型数据库.MongoDB是C++编写的文档型数据库,有着丰富的关系型数据库的功能,并在4.0之后添加 ...

  7. Spring Boot 菜鸟教程 3 MyBatis

    GitHub src="//ghbtns.com/github-btn.html?user=je-ge&repo=spring-boot&type=watch&cou ...

  8. spring boot微服务架构mybatis多数据源切换

    1,先看个目录结构图 可以看到,我把要设置的配置文件都放在了config文件夹下面 2,Application.java是程序启动项,里面必须设置 3,application.properties是多 ...

  9. win7 x64 基于spring boot+elasticsearch+Redis+mysql+mybatis进行搜索引擎web开发--爬取IThome热评(一)

    因为工作需要,我准备在win7 x64系统上基于springboot +elasticsearch+redis搭建全文索引服务器. 1. elasticsearch安装比较方便,直接去官网下载了ela ...

  10. Spring Boot基础学习笔记12:组件注册整合Servlet三大组件

    文章目录 零.学习目标 一.整合Servlet三大组件概述 (一)组件注册整合Servlet三大组件 (二)路径扫描整合Servlet三大组件 二.创建Spring Boot项目 - Integrat ...

最新文章

  1. 《R语言与数据挖掘最佳实践和经典案例》—— 第3章 数 据 探 索
  2. MySQL-基础操作之增删改查
  3. 十一、深入JavaScript的定时器(七)
  4. 计算机局域网有哪些硬件组成,局域网的硬件组成有哪些
  5. ZFNet: Visualizing and Understanding Convolutional Networks
  6. 脚本变量中包含空格的解决办法
  7. 无法打开包括文件: “type_traits”
  8. webp的js插件_Vuejs webp图片支持,插件开发过程~
  9. 小鸟云服务器如何安装rstudio-server?
  10. margin 外边距合并问题
  11. 2022湖北省各市专精特新小巨人企业认定补贴、条件流程
  12. AHB2APB桥接器设计(1)——基本原理
  13. 5-32 哥尼斯堡的“七桥问题” (25分)
  14. Facebook再现丑闻,约100位应用程序开发人员偷看用户数据
  15. Python 实时盯盘并在股价突破时通过微信通知(tushare的使用)
  16. python模块文件的扩展名不一定是py_Python文件扩展名.py?.pyc?.pyd?
  17. JavaWeb网上书城项目总结(初步1.0)
  18. 酷瓜云课堂局域网课程点播+直播系统
  19. 微信投票服务器出现故障,微信投票安全隐患,微信存在安全隐患怎么解除
  20. Synplify参考资料整理

热门文章

  1. 有哪些好的刷题网站?2018年最受欢迎的编程挑战网站
  2. C#LeetCode刷题之#54-螺旋矩阵(Spiral Matrix)
  3. dockerfile写法和docker-compose和docker-compose.yml
  4. 理解搜索引擎并且善用google
  5. golang web服务器_使用Go制作自己的Web服务器:快速指南
  6. macos必做的设置_如何在MacOS上设置PHP,CaddyServer和Kirby —以及为什么要这样做
  7. mysql 8 免安装版 下载及配置
  8. 利用python开发购物车系统
  9. Spark SQL 简介
  10. Python Flask 中的路由