内容简介

Spring MVC + MyBatis快速开发与项目实战》从开发实战出发,以新版Spring、SpringMVC和MyBatis为基础,结合开发工具IntellijIDEA,通过完整的项目实例让读者快速掌握SSM的开发技能。《Spring MVC + MyBatis快速开发与项目实战》共分12章,第1章和第2章,由零开始,引导读者快速搭建SSM框架。第3章主要介绍Spring框架的IOC和AOP。第4章主要介绍Mybatis的映射器、动态SQL、注解配置和关联映射。第5章主要介绍MyBatis的分页和分页插件PageHelper。第6章主要介绍SpringMVC请求映射、参数绑定注解和信息转换详解。第7章主要介绍SpringMVC数据校验。第8章主要介绍Spring和Mybatis事务管理。第9章主要介绍Mybatis的一级缓存和二级缓存机制。第10章主要介绍SpringMVC执行流程、处理映射器和适配器以及视图解析器。第11章主要介绍Mybatis的整体框架、初始化流程和执行流程。最后一章介绍如何开发一个完整的高并发点赞项目。
Spring MVC + MyBatis快速开发与项目实战》编者还精心录制了SSM框架学习的视频教程,以帮助读者快速掌握《Spring MVC + MyBatis快速开发与项目实战》内容。
Spring MVC + MyBatis快速开发与项目实战》来自于一线开发人员的编程实践,突出技术的先进性和实用性,适用于所有Java编程语言开发人员、SSM框架开发人员以及广大计算机专业的师生使用。

作者简介

黄文毅CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师。曾就职于厦门星耀蓝图科技有限公司和上海美团,目前就职于厦门美图科技有限公司,主要从事美图秀秀和美拍后端开发工作。

目录

目录
第1章开发环境准备1
1.1JDK安装1
1.2IntellijIDEA安装3
1.3Tomcat的安装与配置4
1.3.1Tomcat的下载4
1.3.2IntellijIDEA配置Tomcat4
1.4Maven的安装和配置6
1.5MySQL数据库的安装8
1.5.1MySQL的安装8
1.5.2NavicatforMySQL客户端安装与使用9
第2章快速搭建第一个SSM项目10
2.1SSM简述10
2.1.1Spring简述10
2.1.2SpringMVC简述12
2.1.3MyBatis简述12
2.2快速搭建SSM项目13
2.2.1快速搭建Web项目13
2.2.2集成Spring16
2.2.3集成SpringMVC框架21
2.2.4集成MyBatis框架27
2.2.5集成Log4j日志框架34
2.2.6集成JUnit测试框架38
第3章Spring快速上手40
3.1SpringIOC和DI40
3.1.1SpringIOC和DI概述40
3.1.2单例模式42
3.1.3Spring单例模式源码解析48
3.1.4简单工厂模式详解51
3.1.5工厂方法模式详解55
3.1.6SpringBean工厂类详解59
3.2SpringAOP61
3.2.1SpringAOP概述61
3.2.2SpringAOP核心概念61
3.2.3JDK动态代理实现日志框架63
3.2.4SpringAOP实现日志框架68
3.2.5静态代理与动态代理模式70
第4章MyBatis映射器与动态SQL74
4.1MyBatis映射器74
4.1.1映射器的主要元素74
4.1.2select元素75
4.1.3insert元素77
4.1.4selectKey元素77
4.1.5update元素78
4.1.6delete元素79
4.1.7sql元素80
4.1.8#与$区别81
4.1.9resultMap结果映射集81
4.2动态SQL83
4.2.1动态SQL概述83
4.2.2if元素83
4.2.3choose、when、otherwise元素84
4.2.4trim、where、set元素86
4.2.5foreach元素88
4.2.6bind元素89
4.3MyBatis注解配置90
4.3.1MyBatis常用注解90
4.3.2@Select注解91
4.3.3@Insert、@Update、@Delete注解91
4.3.4@Param注解92
4.4MyBatis关联映射94
4.4.1关联映射概述94
4.4.2一对一94
4.4.3一对多97
4.4.4多对多101
第5章MyBatis分页开发106
5.1RowBounds分页106
5.1.1分页概述106
5.1.2RowBounds分页107
5.1.3RowBounds分页使用108
5.1.4RowBounds分页原理109
5.2分页插件PageHelper111
5.2.1PageHelper概述111
5.2.2PageHelper使用111
第6章SpringMVC常用注解114
6.1请求映射注解114
6.1.1@Controller注解114
6.1.2@RequestMapping注解116
6.1.3@GetMapping和@PostMapping注解120
6.1.4Model和ModelMap121
6.1.5ModelAndView122
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.1HttpMessageConverter138
6.3.2RequestMappingHandlerAdapter140
6.3.3自定义HttpMessageConverter141
第7章Spring数据校验142
7.1数据校验概述142
7.2Spring的Validation校验框架143
7.3JSR303校验147
第8章Spring和MyBatis事务管理152
8.1Spring事务管理152
8.1.1Spring事务回顾152
8.1.2Spring声明式事务153
8.1.3Spring注解事务行为153
8.2MyBatis事务管理155
第9章MyBatis缓存机制160
9.1MyBatis的缓存模式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.3cache-ref共享缓存168
9.4MyBatis缓存原理170
9.4.1MyBatis缓存的工作原理170
9.4.2装饰器模式171
9.4.3Cache接口及其实现173
第10章SpringMVC原理剖析176
10.1SpringMVC执行流程176
10.1.1SpringMVC执行流程176
10.1.2前端控制器DispatcherServlet178
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.4ViewResolver链201
第11章MyBatis原理剖析203
11.1MyBatis整体框架203
11.1.1概述203
11.1.2接口层203
11.1.3核心处理层206
11.1.4基础支撑层207
11.2MyBatis初始化流程208
11.3MyBatis执行流程211
第12章高并发点赞项目实践215
12.1高并发点赞项目215
12.1.1项目概述215
12.1.2数据库表和持久化类216
12.1.3DAO层和Mapper映射文件220
12.1.4Service层和DTO类223
12.1.5Controller层和前端页面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.2Redis安装和使用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集成ActiveMQ255
12.4.1概述255
12.4.2ActiveMQ的安装256
12.4.3集成ActiveMQ258
12.4.4ActiveMQ异步消费261
12.4.5测试264
参考文献265


前言/序言

前言
Spring+SpringMVC+MyBatis(简称:SSM框架)在JavaWeb开发领域中占据着十分重要的地位,一路走来已十余载,作为目前流行的轻量级J2EE框架,在保留了经典JavaEE应用架构高度可扩展性和高度可维护性的基础上,降低了JavaEE应用的技术和部署成本,对于大部分企业应用是第一首选。因此掌握并学会使用SSM框架进行项目开发,成为JavaWeb开发人员必备技能之一。
与同类书相比,《Spring MVC + MyBatis快速开发与项目实战》的主要特色是,内容来自于一线互联网公司的工程实践,着重展现新版本Spring5+SpringMVC5+MyBatis3.4.6核心技术的原理剖析与各种热点技术的整合应用与项目实践,帮助读者通过完整的项目实例了解和学习SSM框架,又好又快地掌握SSM的开发技能。
Spring MVC + MyBatis快速开发与项目实战》结构
Spring MVC + MyBatis快速开发与项目实战》共12章,第1章至第9章主要是SSM框架基础知识篇,第10章和第11章主要是SpringMCV和MyBatis内部原理篇,最后一章为项目实战篇。以下是各章的内容概要:
第1章主要介绍开始学习SpringMVC和MyBatis之前的环境准备,包括JDK安装、IntellijIDEA安装、Tomcat安装和配置、Maven安装以及MySQL数据库安装等。
第2章主要对Spring、SpringMVC、MyBatis进行简单概述以及如何一步一步快速搭建第一个SSM项目。
第3章主要回顾了Spring的基础知识IOC和AOP、IOC和AOP背后的实现原理以及设计模式。这些设计模式包括单例模式、简单工厂模式、工厂方法模式、动态代理模式等。
第4章主要介绍MyBatis常用的映射器元素、动态SQL元素、MyBatis注解配置和关联映射。
第5章主要介绍MyBatis提供的RowBounds分页的使用和原理,以及分页插件PageHelper的使用和原理。
第6章主要介绍SpringMVC常用注解,包括请求映射注解和参数绑定注解、SpringMVC信息转换原理。
第7章主要介绍Spring的Validation校验框架、JSR303校验以及常用的注解。
第8章主要介绍Spring事务管理,包括Spring声明式事务和Spring注解事务行为,MyBatis事务管理。
第9章主要介绍MyBatis缓存机制,包括一级缓存和二级缓存以及一级缓存和二级缓存的使用及原理。
第10章主要介绍SpringMVC执行流程的原理剖析、前端控制器DispatcherServlet原理、处理映射器和适配器原理、视图解析器原理等。
第11章主要介绍MyBatis的整体框架、MyBatis初始化流程及原理、MyBatis执行流程及原理等。
第12章主要介绍高并发项目的常规解决方案,Redis缓存和消息中间件MQ的安装和使用以及如何一步一步实现高并发点赞项目。
学习《Spring MVC + MyBatis快速开发与项目实战》的预备知识
Java基础
读者需要掌握J2SE基础知识,这是最基本的也是最重要的。
JavaWeb开发技术
在项目实战中需要用到JavaWeb的相关技术,比如HTML、Tomcat等技术。
数据库基础
读者需要掌握主流数据库基本知识,比如MySQL,同时掌握基本的SQL语法以及常用数据库的安装。
Spring MVC + MyBatis快速开发与项目实战》使用的软件版本
Spring MVC + MyBatis快速开发与项目实战》项目实战开发环境为:
?操作系统Windows10
?开发工具IntellijIDEA2018.1
?JDK使用1.8版本
?Tomcat使用1.8版本
?Spring最新版5.0.4.RELEASE
?SpringMVC最新版5.0.4.RELEASE
?MyBatis最新版3.4.6
读者对象
Spring MVC + MyBatis快速开发与项目实战》适合所有Java编程语言开发人员,所有对Spring+SpringMVC+MyBatis感兴趣并希望使用SSM框架进行开发的人员,缺少SSM框架项目实战经验以及对SSM框架内部原理感兴趣的开发人员。
源代码与视频教学下载
GitHub源代码下载地址:
git@github.com:huangwenyi10/springmvc-mybatis-book.git
扫描下面的二维码,下载视频教学:


如果下载有问题,可发送电子邮件至获得帮助,邮件标题为“SpringMVC+MyBatis快速开发与项目实战下载资源”。
勘误与交流
限于笔者水平和写作时间有限,欢迎大家通过电子邮件等方式批评指正。
致谢
Spring MVC + MyBatis快速开发与项目实战》能够顺利出版,首先要感谢清华大学出版社王金柱编辑给笔者一次和大家分享技术、交流学习的机会,感谢王金柱编辑在《Spring MVC + MyBatis快速开发与项目实战》出版过程的辛勤付出。
感谢厦门美图之家科技有限公司,书中很多的知识点和项目实战经验都来源于贵公司,感谢主管黄及峰、导师阮龙生和吴超群,同事林智泓、张汉铮、邱宗铭、尹权韬,项目管理王睿等在学习和生活上对笔者的照顾。
感谢笔者的家人,他们对笔者生活的照顾使得笔者没有后顾之忧,全身心投入到《Spring MVC + MyBatis快速开发与项目实战》的写作当中。


编者
2018年8月



其他推荐