第1篇 Spring框架 1
第1章 Spring快速入手 3
1.1 Spring的简介 4
1.2 Spring框架的优点 5
1.3 Spring框架的7个模块 6
1.4 综合实例演示 7
小结 12
经典面试题 13
跟我上机 13
第2章 Spring IoC(控制反转)/DI(依赖注入) 14
2.1 Spring IoC/DI介绍 15
2.2 Spring IoC实现 15
2.3 Spring DI(依赖注入) 20
2.4 自动装配 28
2.5 方法注入 31
2.6 Bean之间的关系 34
2.7 Bean的作用域 37
2.8 配置文件拆分文件策略 42
小结 42
经典面试题 43
跟我上机 43
第3章 Spring注解配置IoC 46
3.1 使用注解配置IoC 47
3.2 使用注解自动装配 51
3.3 零配置实现IoC 54
小结 57
经典面试题 57
跟我上机 57
第4章 Spring AOP(面向切面编程) 59
4.1 了解AOP 60
4.2 注解分类和注解AOP 65
4.3 Spring AOP的execution表达式 70
4.4 使用AspectJ实现注解增强 72
4.5 综合实例:猴子偷桃 75
小结 77
经典面试题 77
跟我上机 78
第5章 Spring JDBC框架 79
5.1 解释Spring JDBC框架 80
5.2 传统JDBC编程替代方案 82
5.3 异常转换 83
5.4 使用SimpleJdbc类实现JDBC操作 84
小结 86
经典面试题 86
跟我上机 87
第6章 Spring事务管理 88
6.1 什么是事务 89
6.2 Spring编程式事务 89
6.3 Spring声明式事务 93
小结 97
经典面试题 97
跟我上机 98
第2篇 Spring MVC框架 99
第1章 Spring MVC框架入门 101
1.1 Spring MVC介绍 102
1.2 Spring MVC的优点 102
1.3 Spring MVC运行原理 103
1.4 Spring MVC之Hello World! 104
小结 108
经典面试题 109
跟我上机 109
第2章 Spring MVC配置详解 110
2.1 DispatcherServlet 111
2.2 Spring和Spring MVC整合的web.xml配置 112
2.3 spring-mvc.xml配置 113
2.4 applicationContext.xml配置 113
2.5 前端控制器中的上下文加载顺序 114
2.6 Spring MVC框架控制器结构注解 114
2.7 请求映射原理 114
2.8 限定URL表达式 115
2.9 通过URL限定:绑定×××中的值 115
2.10 通过请求方法限定 115
小结 116
经典面试题 116
跟我上机 117
第3章 Spring MVC注解 118
3.1 注解配置相对于XML配置的优势 119
3.2 XML配置Bean与Bean之间的关系 119
3.3 Spring MVC的各种注解使用 121
小结 138
经典面试题 139
跟我上机 139
第4章 Spring MVC拦截器 142
4.1 配置Spring MVC拦截器 143
4.2 Spring MVC多个拦截器 146
4.3 WebRequestInterceptor 147
4.4 拦截器与过滤器的区别 149
小结 149
经典面试题 150
跟我上机 150
第5章 Spring MVC上传和下载 152
5.1 文件上传 153
5.2 文件下载 157
小结 158
经典面试题 158
跟我上机 158
第6章 Spring MVC格式化与国际化(I18N) 160
6.1 数据格式化 161
6.2 国际化(118N) 166
6.3 综合实例演示 172
小结 176
经典面试题 177
跟我上机 177
第7章 Spring MVC异常处理 178
7.1 Spring MVC的处理异常方式 179
7.2 异常处理机制 179
7.3 使用自带的简单异常处理器 180
7.4 自定义全局异常处理器 181
7.5 使用@ExceptionHandler实现异常处理 183
小结 183
经典面试题 183
跟我上机 183
第3篇 MyBatis持久层框架 185
第1章 MyBatis介绍 187
1.1 MyBatis的前世今生 188
1.2 MyBatis的优点 188
1.3 与传统JDBC相比的优势 188
1.4 JDBC与MyBatis的直观对比 189
1.5 MyBatis和Hibernate的对比 189
1.6 MyBatis工作流程 190
小结 190
经典面试题 191
第2章 MyBatis基本配置 192
2.1 MyBatis基本要素 193
2.2 MyBatis基础配置文件 193
2.3 MyBatis初体验:CRUD 195
2.4 删除功能 202
小结 202
经典面试题 203
跟我上机 203
第3章 configuration.xml文件配置详解 204
3.1 基础环境配置:configuration 205
3.2 事务管理器的配置:transactionManager 205
3.3 数据源的配置:dataS ource 206
3.4 属性配置:properties 207
3.5 别名配置:typeAliases 208
3.6 映射器配置(mappers) 209
3.7 Setting配置 210
3.8 typeHandlers配置 212
小结 213
经典面试题 214
跟我上机 214
第4章 MyBatis映射文件配置详解 215
4.1 映射文件 216
4.2 resultMap基本用法 219
4.3 综合实例演示 225
小结 226
经典面试题 227
跟我上机 227
第5章 关联关系和动态查询 228
5.1 MyBatis一对一查询 229
5.2 MyBatis一对多查询 230
5.3 MyBatis动态查询:<if> 232
5.4 MyBatis动态查询:<choose><when><otherwise> 234
5.5 MyBatis动态查询:<where><trim><set> 235
5.6 MyBatis动态查询:<foreach> 237
5.7 MyBatis动态查询:<sql> 241
小结 242
经典面试题 242
跟我上机 242
第6章 MyBatis注解配置实现CURD 243
6.1 了解MyBatis注解 244
6.2 综合实例演示 246
6.3 结果映射:@ResultMap 251
6.4 综合实例演示:注解实现表的关联关系 252
小结 255
经典面试题 255
跟我上机 255
第7章 MyBatis分页查询 257
7.1 逻辑分页 259
7.2 物理分页 260
小结 263
经典面试题 263
跟我上机 264
第8章 MyBatis调用存储过程 265
8.1 提出需求 266
8.2 准备数据库表和存储过程 266
8.3 编辑userMapper.xml 267
8.4 编写单元测试代码 268
8.5 查看测试结果 268
8.6 注解配置调用存储过程 269
小结 270
经典面试题 270
跟我上机 270
第9章 MyBatis缓存机制 271
9.1 MyBatis缓存介绍 272
9.2 MyBatis一级缓存测试 272
9.3 MyBatis二级缓存测试 273
9.4 cache标签常用属性 275
小结 275
经典面试题 275
第10章 MyBatis日志管理 276
10.1 Log4j的使用方法 278
10.2 综合案例演示 280
小结 282
经典面试题 282
跟我上机 282
附录 Spring+Spring MVC+MyBatis全注解整合 284