第1章 Spring开发框架概述 1
1.1 Spring的产生背景 1
1.2 Spring简介 3
1.3 Spring架构图 4
1.4本章小结 6
第2章 控制反转 7
2.1 IoC产生背景 7
2.2搭建Spring开发环境 11
2.3 IoC开发实现 13
2.4 SpringTest测试 17
2.5本章小结 18
第3章 Bean管理 20
3.1 Bean基本管理 20
3.2使用p命名空间定义Bean 23
3.3注入集合对象 24
3.3.1注入数组对象 25
3.3.2注入Set集合 27
3.3.3注入Map集合 29
3.3.4注入Properties集合 30
3.4注入构造方法 31
3.5自动匹配 33
3.6 Bean的实例化管理 35
3.7 Bean的初始化与销毁 38
3.8基于Annotation配置管理 39
3.8.1 context扫描配置 40
3.8.2资源扫描与注入 41
3.8.3@Autowired注解 43
3.8.4使用Java类进行配置 45
3.9本章小结 45
第4章 Spring资源管理 47
4.1 Resource接口简介 47
4.2读取不同资源 48
4.3 ResourceLoader接口 51
4.4资源注入 53
4.5注入资源数组 54
4.6路径通配符 55
4.7本章小结 56
第5章Spring表达式语言 58
5.1 Spring表达式基本定义 58
5.2表达式解析原理 60
5.3自定义分隔符 61
5.4基本表达式 62
5.4.1字面表达式 63
5.4.2数学表达式 63
5.4.3关系表达式 64
5.4.4逻辑表达式 64
5.4.5三目运算操作 65
5.4.6字符串处理表达式 66
5.4.7正则匹配运算 67
5.5 Class表达式 68
5.6表达式变量操作 70
5.7集合表达式 73
5.8 Spring配置文件与SpEL 79
5.8.1基于配置文件使用SpEL 79
5.8.2基于Annotation使用SpEL 80
5.9本章小结 82
第6章 定时调度 83
6.1传统定时调度组件问题分析 83
6.2 QuartZ定时调度 84
6.2.1继承QuartzJobBean类实现定时任务 85
6.2.2使用CRON实现定时调度 86
6.2.3基于Spring配置实现QuartZ调度 88
6.3 SpringTask任务调度 89
6.3.1基于配置文件实现SpringTask任务调度处理 89
6.3.2基于Annotation的SpringTask配置 90
6.3.3 SpringTask任务调度池 91
6.4本章小结 91
第7章 AOP切面编程 92
7.1 AOP产生动机 92
7.2 AOP简介 95
7.3 AOP切入点表达式 97
7.4 AOP基础实现 98
7.5前置通知参数接收 101
7.6后置通知 101
7.7环绕通知 103
7.8基于Annotation的AOP配置 104
7.9本章小结 106
第8章 Spring与JMS消息组件 107
8.1 JMS消息组件 107
8.2配置ActiveMQ组件 109
8.3使用ActiveMQ实现消息处理 111
8.3.1处理Queue消息 112
8.3.2处理Topic消息 115
8.3.3基于Bean配置 116
8.4本章小结 118
第9章 Spring与WebService 119
9.1 WebService简介 119
9.2 WebService基础开发 120
9.2.1创建公共接口项目 120
9.2.2创建WebService服务提供者 121
9.2.3创建WebService服务消费者 122
9.3 Spring整合WebService 124
9.4本章小结 126
第10章 Spring与Redis数据库 127
10.1 Redis简介 127
10.2 Redis安装与配置 128
10.3 Redis数据操作 130
10.3.1 string数据类型 130
10.3.2 hash数据类型 132
10.3.3数字操作 133
10.3.4 list数据类型 135
10.3.5 set数据类型 138
10.3.6 zset (sorted set)数据类型 139
10.3.7 GEO数据类型 141
10.4 Redis高级配置 142
10.4.1发布-订阅模式 142
10.4.2事务处理 143
10.4.3乐观锁 144
10.4.4安全认证 144
10.4.5 Redis性能监控 145
10.5 Redis哨兵机制 147
10.5.1 Redis主从配置 148
10.5.2哨兵机制 149
10.6 RedisCluster集群 150
10.7使用Java操作Redis数据库 154
10.7.1连接Redis数据库 154
10.7.2 Jedis数据操作 155
10.7.3 Jedis连接池 159
10.7.4 Jedis访问哨兵机制 159
10.7.5使用Jedis访问RedisCluster 161
10.8 SpringDataRedis 163
10.8.1 SpringDataRedis数据操作 164
10.8.2 SpringDataRedis访问哨兵 166
10.8.3 SpringDataRedis访问RedisCluster 168
10.9抢红包案例分析 169
10.10本章小结 175
第11章 JDBC操作模板 176
11.1 JDBC操作模板简介 176
11.2配置数据库连接 178
11.3使用JDBC Template操作数据库 181
11.4数据查询 186
11.5 Spring数据缓存 188
11.5.1 Spring缓存实现 192
11.5.2@Cacheable注解 194
11.5.3缓存更新策略 195
11.5.4缓存清除 196
11.5.5@CacheConfig缓存统一配置 198
11.5.6多级缓存策略 199
11.5.7整合EHCache缓存组件 200
11.5.8整合Redis实现缓存管理 201
11.6 C3P0数据库连接池 204
11.7本章小结 205
第12章 Spring事务管理 206
12.1传统JDBC事务控制概述 206
12.2 Spring事务处理架构 207
12.3事务传播属性 208
12.4事务隔离级别 212
12.5编程式事务控制 213
12.6@Transactional事务控制注解 215
12.7声明式事务控制 217
12.8本章小结 218
第13章 SpringDataJPA 219
13.1 JPA简介 219
13.2JPA编程起步 221
13.2.1 JPA基础实现 222
13.2.2定义JPA连接工厂类 225
13.2.3 DDL自动更新 227
13.2.4 JPA常用注解 228
13.2.5 JPA主键生成策略 229
13.3 JPA数据操作 231
13.3.1 EntityManager数据操作 232
13.3.2 JPQL语句 234
13.3.3 Criteria查询 239
13.3.4 SQL原生查询 242
13.4 JPA数据缓存 244
13.4.1一级缓存 244
13.4.2 JPA对象状态 246
13.4.3二级缓存 248
13.4.4查询缓存 250
13.5 JPA锁机制 251
13.5.1悲观锁 252
13.5.2乐观锁 252
13.6 JPA数据关联 254
13.6.1一对一数据关联 254
13.6.2一对多数据关联 257
13.6.3多对多数据关联 261
13.7 Spring整合JPA开发框架 266
13.8 SpringDataJPA 270
13.8.1 Repository基本使用 271
13.8.2 Repository实现CRUD 273
13.8.3 Repository方法映射 277
13.8.4 CrudRepository数据接口 281
13.8.5 PagingAndSortingRepository数据接口 283
13.8.6 JpaRepository数据接口 285
13.9本章小结 286
第14章 SpringMVC 287
14.1 SpringMVC简介 287
14.2搭建SpringMVC项目开发环境 288
14.3编写第一个SpringMVC程序 291
14.4接收请求参数 295
14.5参数与对象转换 297
14.6 Restful展示风格 299
14.7获取内置对象 301
14.8 Web资源安全访问 303
14.9读取资源文件 304
14.10文件上传 305
14.11拦截器 309
14.11.1定义基础拦截器 310
14.11.2 HandlerMethod类 311
14.11.3使用拦截器实现服务端请求验证 313
14.12 Spring综合案例 327
14.12.1搭建项目开发环境 329
14.12.2商品信息增加页面 332
14.12.3商品信息保存 334
14.12.4商品信息列表 336
14.12.5商品信息编辑页面 339
14.12.6商品信息更新 341
14.12.7商品信息删除 342
14.12.8配置Druid数据源 345
14.13本章小结 347
第15章 SpringSecurity 349
15.1 SpringSecurity简介 349
15.2 SpringSecutity编程起步 350
15.3 CSRF访问控制 356
15.4扩展登录和注销功能 359
15.5获取认证与授权信息 362
15.6基于数据库实现用户登录 364
15.6.1基于SpringSecurity标准认证 364
15.6.2 UserDetailsService 366
15.7 Session管理 369
15.8 RememberMe 370
15.9过滤器 371
15.10 SpringSecurity注解 376
15.11投票器 378
15.11.1 AccessDecisionVoter 379
15.11.2 RoleHierarchy 381
15.12基于Bean配置 382
15.12.1基础配置 383
15.12.2深入配置 385
15.12.3配置投票管理器 387
15.13本章小结 389