第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.1Spring简述 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〈T〉 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 cacheref共享缓存 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.1MyBatis整体框架 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