本书《Spring MVC+MyBatis快速开发与项目实战》以Spring、MVC和MyBatis为基础,结合Intellij IDEA开发工具,通过完整的项目实例帮助读者快速掌握SSM的开发技能。作者从开发实战的角度出发,深入浅出地讲解相关概念和技术,使读者能够快速上手并应用于实际项目中。此书内容详实,逻辑清晰,对于初学者而言非常友好。无论是对于已有开发经验者还是新手来说,该书都是一本不可多得的实用指南。不仅介绍了开发过程中的最佳实践,还讲解了一些高级特性和调优技巧,对于进一步提升开发技能非常有帮助。本书凝结了作者多年的实战经验,对于想要快速掌握SSM开发技能的读者来说,是一本必读之作。
Spring MVC+MyBatis快速开发与项目实战 电子书
内容介绍
本书从开发实战出发,以新版Spring、Spring MVC和MyBatis为基础,结合开发工具Intellij IDEA,通过完整的项目实例让读者快速掌握SSM的开发技能。全书共分12章,第1章和第2章,由零开始,引导读者快速搭建SSM框架。第3章主要介绍Spring框架的IOC和AOP。第4章主要介绍Mybatis的映射器、动态SQL、注解配置和关联映射。第5章主要介绍MyBatis的分页和分页插件PageHelper。第6章主要介绍Spring MVC请求映射、参数绑定注解和信息转换详解。第7章主要介绍Spring MVC数据校验。第8章主要介绍Spring和Mybatis事务管理。第9章主要介绍Mybatis的一级缓存和二级缓存机制。第10章主要介绍Spring MVC执行流程、处理映射器和适配器以及视图解析器。第11章主要介绍Mybatis的整体框架、初始化流程和执行流程。*后一章介绍如何开发一个完整的高并发点赞项目。 本书编者还精心录制了SSM框架学习的视频教程,以帮助读者快速掌握本书内容。 本书来自于一线开发人员的编程实践,突出技术的先进性和实用性,适用于所有Java编程语言开发人员、SSM框架开发人员以及广大计算机专业的师生使用。
目录
- 第1章 开发环境准备 1
- 1.1 JDK安装 1
- 1.2 Intellij IDEA安装 3
- 1.3 Tomcat的安装与配置 4
- 1.3.1 Tomcat的下载 4
- 1.3.2 Intellij IDEA配置Tomcat 4
- 1.4 Maven的安装和配置 6
- 1.5 MySQL数据库的安装 8
- 1.5.1 MySQL的安装 8
- 1.5.2 Navicat for MySQL客户端安装与使用 9
- 第2章 快速搭建第一个SSM项目 10
- 2.1 SSM简述 10
- 2.1.1 Spring简述 10
- 2.1.2 Spring MVC简述 12
- 2.1.3 MyBatis简述 12
- 2.2 快速搭建SSM项目 13
- 2.2.1 快速搭建Web项目 13
- 2.2.2 集成Spring 16
- 2.2.3 集成Spring MVC框架 21
- 2.2.4 集成MyBatis框架 27
- 2.2.5 集成Log4j日志框架 34
- 2.2.6 集成JUnit测试框架 38
- 第3章 Spring快速上手 40
- 3.1 Spring IOC和DI 40
- 3.1.1 Spring IOC和DI概述 40
- 3.1.2 单例模式 42
- 3.1.3 Spring单例模式源码解析 48
- 3.1.4 简单工厂模式详解 51
- 3.1.5 工厂方法模式详解 55
- 3.1.6 Spring Bean工厂类详解 59
- 3.2 Spring AOP 61
- 3.2.1 Spring AOP概述 61
- 3.2.2 Spring AOP核心概念 61
- 3.2.3 JDK动态代理实现日志框架 63
- 3.2.4 Spring AOP实现日志框架 68
- 3.2.5 静态代理与动态代理模式 70
- 第4章 MyBatis映射器与动态SQL 74
- 4.1 MyBatis映射器 74
- 4.1.1 映射器的主要元素 74
- 4.1.2 select元素 75
- 4.1.3 insert元素 77
- 4.1.4 selectKey元素 77
- 4.1.5 update元素 78
- 4.1.6 delete元素 79
- 4.1.7 sql元素 80
- 4.1.8 #与$区别 81
- 4.1.9 resultMap结果映射集 81
- 4.2 动态SQL 83
- 4.2.1 动态SQL概述 83
- 4.2.2 if元素 83
- 4.2.3 choose、when、otherwise元素 84
- 4.2.4 trim、where、set元素 86
- 4.2.5 foreach元素 88
- 4.2.6 bind元素 89
- 4.3 MyBatis注解配置 90
- 4.3.1 MyBatis常用注解 90
- 4.3.2 @Select注解 91
- 4.3.3 @Insert、@Update、@Delete注解 91
- 4.3.4 @Param注解 92
- 4.4 MyBatis关联映射 94
- 4.4.1 关联映射概述 94
- 4.4.2 一对一 94
- 4.4.3 一对多 97
- 4.4.4 多对多 101
- 第5章 MyBatis分页开发 106
- 5.1 RowBounds分页 106
- 5.1.1 分页概述 106
- 5.1.2 RowBounds分页 107
- 5.1.3 RowBounds分页使用 108
- 5.1.4 RowBounds分页原理 109
- 5.2 分页插件PageHelper 111
- 5.2.1 PageHelper概述 111
- 5.2.2 PageHelper使用 111
- 第6章 Spring MVC常用注解 114
- 6.1 请求映射注解 114
- 6.1.1 @Controller注解 114
- 6.1.2 @RequestMapping注解 116
- 6.1.3 @GetMapping和@PostMapping注解 120
- 6.1.4 Model和ModelMap 121
- 6.1.5 ModelAndView 122
- 6.1.6 请求方法可出现参数和可返回类型 123
- 6.2 参数绑定注解 125
- 6.2.1 @RequstParam注解 125
- 6.2.2 @PathVariable注解 126
- 6.2.3 @RequestHeader注解 127
- 6.2.4 @CookieValue注解 128
- 6.2.5 @ModelAttribute注解 129
- 6.2.6 @SessionAttribute和@SessionAttributes注解 134
- 6.2.7 @ResponseBody和@RequestBody注解 136
- 6.3 信息转换详解 138
- 6.3.1 HttpMessageConverter 138
- 6.3.2 RequestMappingHandlerAdapter 140
- 6.3.3 自定义HttpMessageConverter 141
- 第7章 Spring数据校验 142
- 7.1 数据校验概述 142
- 7.2 Spring的Validation校验框架 143
- 7.3 JSR 303校验 147
- 第8章 Spring和MyBatis事务管理 152
- 8.1 Spring事务管理 152
- 8.1.1 Spring事务回顾 152
- 8.1.2 Spring声明式事务 153
- 8.1.3 Spring注解事务行为 153
- 8.2 MyBatis事务管理 155
- 第9章 MyBatis缓存机制 160
- 9.1 MyBatis的缓存模式 160
- 9.2 一级查询缓存 161
- 9.2.1 一级缓存概述 161
- 9.2.2 一级缓存示例 161
- 9.2.3 一级缓存生命周期 164
- 9.3 二级查询缓存 165
- 9.3.1 二级缓存概述 165
- 9.3.2 二级缓存示例 166
- 9.3.3 cache-ref共享缓存 168
- 9.4 MyBatis缓存原理 170
- 9.4.1 MyBatis缓存的工作原理 170
- 9.4.2 装饰器模式 171
- 9.4.3 Cache接口及其实现 173
- 第10章 Spring MVC原理剖析 176
- 10.1 Spring MVC执行流程 176
- 10.1.1 Spring MVC执行流程 176
- 10.1.2 前端控制器DispatcherServlet 178
- 10.2 处理映射器和适配器 182
- 10.2.1 处理映射器 182
- 10.2.2 处理适配器 183
- 10.3 视图解析器 195
- 10.3.1 概述 195
- 10.3.2 视图解析流程 195
- 10.3.3 常用视图解析器 195
- 10.3.4 ViewResolver链 201
- 第11章 MyBatis原理剖析 203
- 11.1 MyBatis整体框架 203
- 11.1.1 概述 203
- 11.1.2 接口层 203
- 11.1.3 核心处理层 206
- 11.1.4 基础支撑层 207
- 11.2 MyBatis初始化流程 208
- 11.3 MyBatis执行流程 211
- 第12章 高并发点赞项目实践 215
- 12.1 高并发点赞项目 215
- 12.1.1 项目概述 215
- 12.1.2 数据库表和持久化类 216
- 12.1.3 DAO层和Mapper映射文件 220
- 12.1.4 Service层和DTO类 223
- 12.1.5 Controller层和前端页面 227
- 12.1.6 测试 229
- 12.2 传统点赞功能实现 229
- 12.2.1 概述 229
- 12.2.2 代码实现 231
- 12.2.3 测试 235
- 12.3 集成Redis缓存 235
- 12.3.1 概述 235
- 12.3.2 Redis安装和使用 236
- 12.3.3 集成Redis缓存 243
- 12.3.4 设计Redis数据结构 246
- 12.3.5 代码实现 247
- 12.3.6 集成Quartz定时器 251
- 12.3.7 测试 255
- 12.4 集成ActiveMQ 255
- 12.4.1 概述 255
- 12.4.2 ActiveMQ的安装 256
- 12.4.3 集成ActiveMQ 258
- 12.4.4 ActiveMQ异步消费 261
- 12.4.5 测试 264
- 参考文献 265
1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 2.SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 3.MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。