编辑推荐
本书是Spring 框架的入门指南,全书系统、全面地介绍了Spring 框架的设计思想和模块构成,并针对各个模块给出了相应的应用场景和源代码示例,旨在帮助Java 开发人员快速掌握Spring 框架的用法。 本书适合有一定Java 基础的读者或者初级开发人员学习,也可供欲了解Spring 框架功能的资深开发人员参考,还可用作相关培训机构的教程。 ★ Spring 框架基础; ★ 依赖注入; ★ bean 的配置、自定义bean 和bean 定义; ★ Spring Web MVC 基础知识以及其中的验证和数据绑定; ★ 使用Spring 进行注释驱动开发、数据库交互、消息传递、电子邮件发送等; ★ 面向切面编程; ★ 使用Spring Web MVC 开发RESTful Web 服务。
内容简介
Spring框架是以简化J2EE应用程序开发为特定目标而创建的,是当前流行的Java开发框架。 本书从介绍Spring框架入手,针对Spring 4.3和Java 8介绍bean的配置、依赖注入、定义bean、基于Java的容器、AOP、Spring Data、Spring MVC等知识,旨在帮助读者更轻松地学习Spring框架的方法。 本书适合Web开发者和想使用Spring的初学者参考,也可供对 Web开发和Spring感兴趣的读者参考。
作者简介
Ashish Sarin拥有超过16年的应用程序架构设计经验,是经过Sun认证的企业架构师。他同时也是Spring Roo 1.1 Cookbook(Packt出版社)和Portlets in Action(曼宁刊物)的作者。 J Sharma拥有丰富的Spring应用开发经验,是一位自由职业的Java开发者。
目录
- 第 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