第 1章 Spring框架简介 1
1.1 简介 1
1.2 Spring框架的模块 1
1.3 Spring IoC容器 2
1.4 使用Spring框架的好处 4
1.5 一个简单的Spring应用程序 9
1.6 建立在Spring之上的框架 16
1.7 小结 16
第 2章 Spring框架基础 17
2.1 简介 17
2.2 面向接口编程的设计方法 17
2.3 使用静态和实例工厂方法
创建Spring bean 20
2.4 基于构造函数的 DI 24
2.5 将配置详细信息传递给bean 26
2.6 bean的作用域 27
2.7 小结 35
第3章 bean的配置 36
3.1 简介 36
3.2 bean定义的继承 36
3.3 构造函数参数匹配 42
3.4 配置不同类型的bean属性和
构造函数参数 49
3.5 内置属性编辑器 57
3.6 向Spring容器注册属性编辑器 60
3.7 具有p和c命名空间的简明
bean定义 61
3.8 Spring的util模式 64
3.9 FactoryBean 接口 68
3.10 模块化bean配置 73
3.11 小结 74
第4章 依赖注入 75
4.1 简介 75
4.2 内部bean 75
4.3 使用depends-on特性控制bean的
初始化顺序 76
4.4 singleton和prototype范围的bean的
依赖项 81
4.5 通过singleton bean中获取
prototype bean的新实例 85
4.6 自动装配依赖项 92
4.7 小结 98
第5章 自定义bean和bean定义 99
5.1 简介 99
5.2 自定义bean的初始化和销毁逻辑 99
5.3 使用BeanPostProcessor与新创建的
bean实例进行交互 105
5.4 使用BeanFactoryPostProcessor修改bean定义 114
5.5 小结 125
第6章 使用Spring进行注释
驱动开发 126
6.1 简介 126
6.2 用@Component标识Spring bean 126
6.3 @Autowired 通过类型自动
装配依赖项 128
6.4 @Qualifier 按名称自动装配依赖项 131
6.5 JSR 330的@Inject和@Named注释 135
6.6 JSR 250的 @Resource 注释 137
6.7 @Scope、@Lazy、@DependsOn和
@Primary注释 138
6.8 使用@Value简化注释的
bean类的配置 142
6.9 使用Spring的 Validator
接口验证对象 148
6.10 使用JSR 349注释指定约束 151
6.11 bean定义配置文件 157
6.12 小结 161
第7章 基于Java的容器配置 162
7.1 简介 162
7.2 使用@Configuration和@Bean
注释配置bean 162
7.3 注入bean 依赖项 165
7.4 配置Spring容器 167
7.5 生命周期回调 169
7.6 导入基于Java的配置 170
7.7 附加主题 172
7.8 小结 181
第8章 使用Spring进行数
据库交互 182
8.1 简介 182
8.2 MyBank应用程序的需求 182
8.3 使用Spring JDBC模块开发
MyBank应用程序 183
8.4 使用Hibernate开发MyBank
应用程序 190
8.5 使用Spring的事务管理 192
8.6 使用基于Java的配置开发
MyBank应用程序 199
8.7 小结 201
第9章 Spring Data 202
9.1 简介 202
9.2 核心概念和接口 202
9.3 Spring Data JPA 205
9.4 使用Querydsl创建查询 214
9.5 按示例查询 217
9.6 Spring Data MongoDB 219
9.7 小结 225
第 10章 使用Spring进行消息传递、
电子邮件发送、异步方法执行和
缓存 226
10.1 简介 226
10.2 MyBank应用程序的需求 226
10.3 发送JMS 消息 227
10.4 接收JMS消息 234
10.5 发送电子邮件 239
10.6 任务调度和异步执行 243
10.7 缓存 248
10.8 运行MyBank应用程序 253
10.9 小结 255
第 11章 面向切面编程 256
11.1 简介 256
11.2 一个简单的AOP示例 256
11.3 Spring AOP 框架 258
11.4 切入点表达式 261
11.5 通知类型 266
11.6 Spring AOP - XML模式样式 270
11.7 小结 272
第 12章 Spring Web MVC
基础知识 273
12.1 简介 273
12.2 示例Web项目的目录结构 273
12.3 了解“Hello World”网络应用程序 274
12.4 DispatcherServlet——前端控制器 279
12.5 使用@Controller和@RequestMapping
注释开发控制器 281
12.6 MyBank Web 应用程序的需求 283
12.7 Spring Web MVC 注释
——@RequestMapping和
@RequestParam 284
12.8 验证 294
12.9 使用@ExceptionHandler
注释处理异常 296
12.10 加载根Web应用程序
上下文XML文件 297
12.11 小结 298
第 13章 Spring Web MVC中的
验证和数据绑定 299
13.1 简介 299
13.2 使用@ModelAttribute注释
添加和获取模型特性 299
13.3 使用@SessionAttributes注释
缓存模型特性 306
13.4 Spring中对数据绑定的支持 308
13.5 Spring中的验证支持 317
13.6 Spring的form标签库 323
13.7 使用基于Java的配置方式来
配置Web应用程序 325
13.8 小结 327
第 14章 使用Spring Web MVC
开发RESTful Web服务 328
14.1 简介 328
14.2 定期存款Web 服务 328
14.3 使用Spring Web MVC实现
RESTful Web服务 329
14.4 使用RestTemplate和
AsyncRestTemplate访问
RESTful Web服务 336
14.5 使用HttpMessageConverter将
Java对象与HTTP请求和响应
相互转换 342
14.6 @PathVariable和@MatrixVariable
注释 343
14.7 小结 346
第 15章 Spring Web MVC
进阶——国际化、文件上传
和异步请求处理 347
15.1 简介 347
15.2 使用处理程序拦截器对请求
进行预处理和后处理 347
15.3 使用资源束进行国际化 349
15.4 异步地处理请求 351
15.5 Spring中的类型转换和格式化支持 360
15.6 Spring Web MVC中的文件
上传支持 365
15.7 小结 368
第 16章 使用Spring Security
保护应用程序 369
16.1 简介 369
16.2 MyBank Web应用程序的
安全性需求 369
16.3 使用Spring Security保护
MyBank Web 应用程序 370
16.4 MyBank Web 应用程序——
使用Spring Security的ACL
模块保护 FixedDepositDetails
实例 377
16.5 使用基于Java的配置方法
配置Spring Security 391
16.6 小结 394
附录A 下载和安装MongoDB
数据库 395
A.1 下载并安装MongoDB数据库 395
A.2 连接MongoDB数据库 395
附录B 在Eclipse IDE
(或IntelliJ IDEA)中导入和
部署示例项目 397
B.1 下载和安装Eclipse IDE、
Tomcat 8和Maven 3 397
B.2 将示例项目导入Eclipse IDE
(或IntelliJ IDEA)中 397
B.3 在 Eclipse IDE中配置Tomcat 8
服务器 399
B.4 在Tomcat 8 服务器上部署
Web项目 400