描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302516361
产品特色
编辑推荐
与同类书相比,本书的主要特色是,内容来自于一线互联网公司的工程实践,着重展现新版本Spring 5 Spring MVC 5 MyBatis 3.4.6核心技术的原理剖析与各种热点技术的整合应用与项目实践,帮助读者通过完整的项目实例了解和学习SSM框架,又好又快地掌握SSM的开发技能。
内容简介
本书从开发实战出发,以新版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框架开发人员以及广大计算机专业的师生使用。
本书编者还精心录制了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章 开发环境准备 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
前 言
前 言
Spring Spring MVC MyBatis(简称:SSM框架)在Java Web开发领域中占据着十分重要的地位,一路走来已十余载,作为目前流行的轻量级J2EE框架,在保留了经典Java EE应用架构高度可扩展性和高度可维护性的基础上,降低了Java EE应用的技术和部署成本,对于大部分企业应用是第一首选。因此掌握并学会使用SSM框架进行项目开发,成为Java Web开发人员必备技能之一。
与同类书相比,本书的主要特色是,内容来自于一线互联网公司的工程实践,着重展现新版本Spring 5 Spring MVC 5 MyBatis 3.4.6核心技术的原理剖析与各种热点技术的整合应用与项目实践,帮助读者通过完整的项目实例了解和学习SSM框架,又好又快地掌握SSM的开发技能。
本书结构
本书共12章,第1章至第9章主要是SSM框架基础知识篇,第10章和第11章主要是Spring MCV和MyBatis内部原理篇,最后一章为项目实战篇。以下是各章的内容概要:
第1章主要介绍开始学习Spring MVC和MyBatis之前的环境准备,包括JDK安装、Intellij IDEA安装、Tomcat安装和配置、Maven安装以及MySQL数据库安装等。
第2章主要对Spring、Spring MVC、MyBatis进行简单概述以及如何一步一步快速搭建第一个SSM项目。
第3章主要回顾了Spring的基础知识IOC和AOP、IOC和AOP背后的实现原理以及设计模式。这些设计模式包括单例模式、简单工厂模式、工厂方法模式、动态代理模式等。
第4章主要介绍MyBatis常用的映射器元素、动态SQL元素、MyBatis注解配置和关联映射。
第5章主要介绍MyBatis提供的RowBounds分页的使用和原理,以及分页插件PageHelper的使用和原理。
第6章主要介绍Spring MVC常用注解,包括请求映射注解和参数绑定注解、Spring MVC信息转换原理。
第7章主要介绍Spring的Validation校验框架、JSR 303校验以及常用的注解。
第8章主要介绍Spring事务管理,包括Spring声明式事务和Spring注解事务行为,MyBatis事务管理。
第9章主要介绍MyBatis缓存机制,包括一级缓存和二级缓存以及一级缓存和二级缓存的使用及原理。
第10章主要介绍Spring MVC执行流程的原理剖析、前端控制器DispatcherServlet原理、处理映射器和适配器原理、视图解析器原理等。
第11章主要介绍MyBatis的整体框架、MyBatis初始化流程及原理、MyBatis执行流程及原理等。
第12章主要介绍高并发项目的常规解决方案,Redis缓存和消息中间件MQ的安装和使用以及如何一步一步实现高并发点赞项目。
学习本书的预备知识
Java基础
读者需要掌握J2SE基础知识,这是最基本的也是最重要的。
Java Web开发技术
在项目实战中需要用到Java Web的相关技术,比如HTML、Tomcat等技术。
数据库基础
读者需要掌握主流数据库基本知识,比如MySQL,同时掌握基本的SQL语法以及常用数据库的安装。
本书使用的软件版本
本书项目实战开发环境为:
? 操作系统Windows 10
? 开发工具Intellij IDEA 2018.1
? JDK使用1.8版本
? Tomcat使用1.8版本
? Spring最新版5.0.4.RELEASE
? Spring MVC最新版5.0.4.RELEASE
? MyBatis最新版3.4.6
读者对象
本书适合所有Java编程语言开发人员,所有对Spring Spring MVC MyBatis感兴趣并希望使用SSM框架进行开发的人员,缺少SSM框架项目实战经验以及对SSM框架内部原理感兴趣的开发人员。
源代码与视频教学下载
GitHub源代码下载地址:
[email protected]:huangwenyi10/springmvc-mybatis-book.git
扫描下面的二维码,下载视频教学:
如果下载有问题,可发送电子邮件至[email protected]获得帮助,邮件标题为“Spring MVC MyBatis快速开发与项目实战下载资源”。
勘误与交流
限于笔者水平和写作时间有限,欢迎大家通过电子邮件等方式批评指正。
致谢
本书能够顺利出版,首先要感谢清华大学出版社王金柱编辑给笔者一次和大家分享技术、交流学习的机会,感谢王金柱编辑在本书出版过程的辛勤付出。
感谢厦门美图之家科技有限公司,书中很多的知识点和项目实战经验都来源于贵公司,感谢主管黄及峰、导师阮龙生和吴超群,同事林智泓、张汉铮、邱宗铭、尹权韬,项目管理王睿等在学习和生活上对笔者的照顾。
感谢笔者的家人,他们对笔者生活的照顾使得笔者没有后顾之忧,全身心投入到本书的写作当中。
Spring Spring MVC MyBatis(简称:SSM框架)在Java Web开发领域中占据着十分重要的地位,一路走来已十余载,作为目前流行的轻量级J2EE框架,在保留了经典Java EE应用架构高度可扩展性和高度可维护性的基础上,降低了Java EE应用的技术和部署成本,对于大部分企业应用是第一首选。因此掌握并学会使用SSM框架进行项目开发,成为Java Web开发人员必备技能之一。
与同类书相比,本书的主要特色是,内容来自于一线互联网公司的工程实践,着重展现新版本Spring 5 Spring MVC 5 MyBatis 3.4.6核心技术的原理剖析与各种热点技术的整合应用与项目实践,帮助读者通过完整的项目实例了解和学习SSM框架,又好又快地掌握SSM的开发技能。
本书结构
本书共12章,第1章至第9章主要是SSM框架基础知识篇,第10章和第11章主要是Spring MCV和MyBatis内部原理篇,最后一章为项目实战篇。以下是各章的内容概要:
第1章主要介绍开始学习Spring MVC和MyBatis之前的环境准备,包括JDK安装、Intellij IDEA安装、Tomcat安装和配置、Maven安装以及MySQL数据库安装等。
第2章主要对Spring、Spring MVC、MyBatis进行简单概述以及如何一步一步快速搭建第一个SSM项目。
第3章主要回顾了Spring的基础知识IOC和AOP、IOC和AOP背后的实现原理以及设计模式。这些设计模式包括单例模式、简单工厂模式、工厂方法模式、动态代理模式等。
第4章主要介绍MyBatis常用的映射器元素、动态SQL元素、MyBatis注解配置和关联映射。
第5章主要介绍MyBatis提供的RowBounds分页的使用和原理,以及分页插件PageHelper的使用和原理。
第6章主要介绍Spring MVC常用注解,包括请求映射注解和参数绑定注解、Spring MVC信息转换原理。
第7章主要介绍Spring的Validation校验框架、JSR 303校验以及常用的注解。
第8章主要介绍Spring事务管理,包括Spring声明式事务和Spring注解事务行为,MyBatis事务管理。
第9章主要介绍MyBatis缓存机制,包括一级缓存和二级缓存以及一级缓存和二级缓存的使用及原理。
第10章主要介绍Spring MVC执行流程的原理剖析、前端控制器DispatcherServlet原理、处理映射器和适配器原理、视图解析器原理等。
第11章主要介绍MyBatis的整体框架、MyBatis初始化流程及原理、MyBatis执行流程及原理等。
第12章主要介绍高并发项目的常规解决方案,Redis缓存和消息中间件MQ的安装和使用以及如何一步一步实现高并发点赞项目。
学习本书的预备知识
Java基础
读者需要掌握J2SE基础知识,这是最基本的也是最重要的。
Java Web开发技术
在项目实战中需要用到Java Web的相关技术,比如HTML、Tomcat等技术。
数据库基础
读者需要掌握主流数据库基本知识,比如MySQL,同时掌握基本的SQL语法以及常用数据库的安装。
本书使用的软件版本
本书项目实战开发环境为:
? 操作系统Windows 10
? 开发工具Intellij IDEA 2018.1
? JDK使用1.8版本
? Tomcat使用1.8版本
? Spring最新版5.0.4.RELEASE
? Spring MVC最新版5.0.4.RELEASE
? MyBatis最新版3.4.6
读者对象
本书适合所有Java编程语言开发人员,所有对Spring Spring MVC MyBatis感兴趣并希望使用SSM框架进行开发的人员,缺少SSM框架项目实战经验以及对SSM框架内部原理感兴趣的开发人员。
源代码与视频教学下载
GitHub源代码下载地址:
[email protected]:huangwenyi10/springmvc-mybatis-book.git
扫描下面的二维码,下载视频教学:
如果下载有问题,可发送电子邮件至[email protected]获得帮助,邮件标题为“Spring MVC MyBatis快速开发与项目实战下载资源”。
勘误与交流
限于笔者水平和写作时间有限,欢迎大家通过电子邮件等方式批评指正。
致谢
本书能够顺利出版,首先要感谢清华大学出版社王金柱编辑给笔者一次和大家分享技术、交流学习的机会,感谢王金柱编辑在本书出版过程的辛勤付出。
感谢厦门美图之家科技有限公司,书中很多的知识点和项目实战经验都来源于贵公司,感谢主管黄及峰、导师阮龙生和吴超群,同事林智泓、张汉铮、邱宗铭、尹权韬,项目管理王睿等在学习和生活上对笔者的照顾。
感谢笔者的家人,他们对笔者生活的照顾使得笔者没有后顾之忧,全身心投入到本书的写作当中。
编者
2018年8月
评论
还没有评论。