产品特色
编辑推荐
In Action系列中畅销的Spring图书,有近10万读者选择本书来学习Spring,也是国内读者熟悉的Spring经典图书之一!
Spring框架已经成为Java开发人员的必备知识,而且Spring 3引入了强大的新特性,例如SpEL、Spring表达式语言、IoC容器的新注解以及用户急需的对REST的支持。无论你是刚刚接触Spring还是被Spring 3.0的新特性所吸引,《Spring实战(第3版)》都是掌握Spring的选择。
《Spring实战(第3版)》继承了前两个畅销版本面向实战、实用的写作风格,介绍了Spring 3.0重要的几个方面,包括REST、远程服务、消息、安全、MVC、Web Flow等。作者Craig Walls将读者真正需要的技术通过丰富且非常有趣的示例予以呈现,精彩纷呈,一定让你大呼过瘾。
内容简介
《Spring实战(第3版)》从核心的Spring、Spring应用程序的核心组件、Spring集成3个方面,由浅入深、由易到难地对Spring展开了系统的讲解,包括Spring之旅、装配Bean、面向切面的Spring、征服数据库、事务管理、使用Spring MVC构建Web应用程序、使用Spring Web Flow、保护Spring应用、使用远程服务、为Spring添加REST功能、Spring消息、使用JMX管理Spring Bean以及其他Spring技巧等内容。
《Spring实战(第3版)》不仅仅介绍了使用Spring框架进行开发必须掌握的核心概念,还在此基础上深入介绍了Spring应用程序的常用组件,并为读者展现了Spring如何与其他的应用、服务进行企业级集成。本书并不没有为读者详细地列出Spring API,而是通过提供丰富又实用的代码示例,来真正展示Spring框架的强大──它能够使企业级应用程序的开发更简单。
作者简介
Craig Walls,SpringSource的软件开发人员。他也是一位畅销书作者,经常在用户组和各种会议中进行演讲。他目前居住在美国德克萨斯州的普莱诺。
内页插图
精彩书评
事实上的Spring参考指南。
——Dan Dobrin,加拿大帝国商业银行(CIBC)
一本我不会借给他人的书——因为我太频繁翻阅它了。
——Josh Devins,Nokia公司
涵盖了Spring的技术基础与各种应用。
——Chad Davis,《Struts 2 in Action》作者
杰出的老师所传授的精彩内容。
——Robert Hanson,《GWT in Action》作者
幽默与技术智慧的完美结合。
——Valentin Crettaz,Goomzee公司
目录
第一部分 Spring 的核心
第1 章 Spring 之旅
1.1 简化Java 开发
1.1.1 激发POJO 的潜能
1.1.2 依赖注入
1.1.3 应用切面
1.1.4 使用模板消除样板式代码
1.2 容纳你的Bean
1.2.1 与应用上下文共事
1.2.2 Bean 的生命周期
1.3 俯瞰Spring 风景线
1.3.1 Spring 模块
1.3.2 Spring Portfolio
1.4 Spring 新功能
1.4.1 Spring 2.5 新特性
1.4.2 Spring 3.0 新特性
1.4.3 Spring Portfollo 新特性
1.5 小结
第2 章 装配Bean
2.1 声明Bean
2.1.1 创建Spring 配置
2.1.2 声明一个简单Bean
2.1.3 通过构造器注入
2.1.4 Bean 的作用域
2.1.5 初始化和销毁Bean
2.2 注入Bean 属性
2.2.1 注入简单值
2.2.2 引用其他Bean
2.2.3 使用Spring 的命名空间p 装配属性
2.2.4 装配集合
2.2.5 装配空值
2.3 使用表达式装配
2.3.1 SpEL 的基本原理
2.3.2 在SpEL 值上执行操作
2.3.3 在SpEL 中筛选集合
2.4 小结
第3 章 最小化Spring XML 配置
3.1 自动装配Bean 属性
3.1.1 4 种类型的自动装配
3.1.2 默认自动装配
3.1.3 混合使用自动装配和显式装配
3.2 使用注解装配
3.2.1 使用@Autowired
3.2.2 借助@Inject 实现基于标准的自动装配
3.2.3 在注解注入中使用表达式
3.3 自动检测Bean
3.3.1 为自动检测标注Bean
3.3.2 过滤组件扫描
3.4 使用Spring 基于Java的配置
3.4.1 创建基于Java 的配置
3.4.2 定义一个配置类
3.4.3 声明一个简单的Bean
3.4.4 使用Spring 的基于Java 的配置进行注入
3.5 小结
第4 章 面向切面的Spring
4.1 什么是面向切面编程
4.1.1 定义AOP 术语
4.1.2 Spring 对AOP 的支持
4.2 使用切点选择连接点
4.2.1 编写切点
4.2.2 使用Spring 的bean()指示器
4.3 在XML 中声明切面
4.3.1 声明前置和后置通知
4.3.2 声明环绕通知
4.3.3 为通知传递参数
4.3.4 通过切面引入新功能
4.4 注解切面
4.4.1 注解环绕通知
4.4.2 传递参数给所标注的通知
4.4.3 标注引入
4.5 注入AspectJ 切面
4.6 小结
第二部分 Spring 应用程序的核心组件
第5 章 征服数据库
5.1 Spring 的数据访问哲学
5.1.1 了解Spring 的数据访问异常体系
5.1.2 数据访问模板化
5.1.3 使用DAO 支持类
5.2 配置数据源
5.2.1 使用JNDI 数据源
5.2.2 使用数据源连接池
5.2.3 基于JDBC驱动的数据源
5.3 在Spring 中使用JDBC
5.3.1 应对失控的JDBC 代码
5.3.2 使用JDBC 模板
5.4 在Spring 中集成Hibernate
5.4.1 Hibernate 概览
5.4.2 声明Hibernate 的Session工厂
5.4.3 构建不依赖于Spring的Hibernate代码
5.5 Spring 与Java 持久化API
5.5.1 配置实体管理器工厂
5.5.2 编写基于JPA 的DAO
5.6 小结
第6 章 事务管理
6.1 理解事务
6.1.1 用4 个词来表示事务
6.1.2 理解Spring 对事务管理的支持
6.2 选择事务管理器
6.2.1 JDBC 事务
6.2.2 Hibernate 事务
6.2.3 Java 持久化API 事务
6.2.4 JTA(Java Transaction API)事务
6.3 在Spring 中的编码事务
6.4 声明式事务
6.4.1 定义事务属性
6.4.2 在XML 中定义事务
6.4.3 定义注解驱动的事务
6.5 小结
第7 章 使用Spring MVC 构建Web 应用程序
7.1 Spring MVC 起步
7.1.1 跟踪Spring MVC 的请求
7.1.2 搭建Spring MVC
7.2 编写基本的控制器
7.2.1 配置注解驱动的Spring MVC
7.2.2 定义首页的控制器
7.2.3 解析视图
7.2.4 定义首页的视图
7.2.5 完成Spring 应用上下文
7.3 处理控制器的输入
7.3.1 编写处理输入的控制器
7.3.2 渲染视图
7.4 处理表单
7.4.1 展现注册表单
7.4.2 处理表单输入
7.4.3 校验输入
7.5 处理文件上传
7.5.1 在表单上添加文件上传域
7.5.2 接收上传的文件
7.5.3 配置Spring 支持文件上传
7.6 小结
第8 章 使用Spring Web Flow
8.1 安装Spring Web Flow
8.1.1 在Spring 中使用Web Flow
8.2 流程的组件
8.2.1 状态
8.2.2 转移
8.2.3 流程数据
8.3 组合起来:披萨流程
8.3.1 定义基本流程
8.3.2 收集顾客信息
8.3.3 构建订单
8.3.4 支付
8.4 保护Web 流程
8.5 小结
第9 章 保护Spring 应用
9.1 Spring Security 介绍
9.1.1 Spring Security 起步
9.1.2 使用Spring Security 配置命名空间
9.2 保护Web 请求
9.2.1 代理Servlet 过滤器
9.2.2 配置最小化的Web安全性
9.2.3 拦截请求
9.3 保护视图级别的元素
9.3.1 访问认证信息的细节
9.3.2 根据权限渲染
9.4 认证用户
9.4.1 配置内存用户存储库
9.4.2 基于数据库进行认证
9.4.3 基于LDAP 进行认证
9.4.4 启用remember-me 功能
9.5 保护方法调用
9.5.1 使用@Secured 注解保护方法调用
9.5.2 使用JSR-250 的@RolesAllowed注解
9.5.3 使用SpEL 实现调用前后的安全性
9.5.4 声明方法级别的安全性切点
9.6 小结
第三部分 Spring 集成
第10 章 使用远程服务
10.1 Spring 远程调用概览
10.2 使用RMI
10.2.1 发布一个RMI 服务
10.2.2 装配RMI服务
10.3 使用Hessian 和Burlap发布远程服务
10.3.1 使用Hessian和Burlap发布Bean 的功能
10.3.2 访问Hessian/Burlap 服务
10.4 使用Spring的HttpInvoker
10.4.1 将把Bean 发布为HTTP服务
10.4.2 通过HTTP 访问服务
10.5 发布和使用Web 服务
10.5.1 创建JAX-WS 端点
10.5.2 在客户端代理JAX-WS服务
10.6 小结
第11 章 为Spring 添加REST功能
11.1 了解REST
11.1.1 REST 的基本原理
11.1.2 Spring 是如何支持REST 的
11.2 编写面向资源的控制器
11.2.1 剖析RESTless 的控制器
11.2.2 处理RESTful URL
11.2.3 执行REST 动作
11.3 表述资源
11.3.1 协商资源表述
11.3.2 使用HTTP 信息转换器
11.4 编写REST 客户端
11.4.1 了解RestTemplate的操作
11.4.2 GET 资源
11.4.3 PUT 资源
11.4.4 DELETE 资源
11.4.5 POST 资源数据
11.4.6 交换资源
11.5 提交RESTful 表单
11.5.1 在JSP 中渲染隐藏的方法域
11.5.2 发布真正的请求
11.6 小结
第12 章 Spring 消息
12.1 JMS 简介
12.1.1 构建JMS
12.1.2 评估JMS 的优点
12.2 在Spring 中搭建消息代理
12.2.1 创建连接工厂
12.2.2 声明ActiveMQ 消息目的地
12.3 使用Spring 的JMS 模板
12.3.1 处理失控的JMS 代码
12.3.2 使用JMS 模板
12.4 创建消息驱动的POJO
12.4.1 创建消息监听器
12.4.2 配置消息监听器
12.5 使用基于消息的RPC
12.5.1 使用Spring 基于消息的RPC
12.5.2 使用Lingo 实现异步RPC
12.6 小结
第13 章 使用JMX 管理Spring Bean
13.1 将Spring Bean 导出为MBean
13.1.1 通过名称发布方法
13.1.2 使用接口定义MBean 的操作和属性
13.1.3 使用注解驱动的MBean
13.1.4 处理MBean 冲突
13.2 远程MBean
13.2.1 发布远程MBean
13.2.2 访问远程MBean
13.2.3 代理MBean
13.3 处理通知
13.3.1 监听通知
13.4 小结
第14 章 其他Spring 技巧
14.1 外部化配置
14.1.1 替换属性占位符
14.1.2 重写属性
14.1.3 加密外部属性
14.2 装配JNDI 对象
14.2.1 JNDI 的传统用法
14.2.2 装配JNDI 对象
14.2.3 将EJB 装配到Spring 中
14.3 发送邮件
14.3.1 配置邮件发送器
14.3.2 构建邮件
14.4 调度和后台任务
14.4.1 声明调度方法
14.4.2 声明异步方法
14.5 小结
14.6 结束语
精彩书摘
Spring Mobile 移动应用是另一个引人瞩目的软件开发领域。智能手机和平板设备已成为许多用户首选的客户端。Spring Mobile是Spring新的扩展模块用于支持移动Web应用开发。 与Spring Mobile相关的是Spring Android项目。这个新项目旨在通过Spring框架为开发基于Android设备的本地应用提供某些简单的支持。最初,这个项目提供了Spring的RestTemplate版本(请查看第11章了解RestTemplete)可以用于Android应用。 Spring Dynamic Modules Spring Dynamic Module整合了Spring的声明式依赖注入和OSGi的动态组件模型。使用Spring—DM,你可以采用模块化的方式构建应用,这些模块是清晰的、高内聚、低耦合的,并在OSGi框架内以声明的方式发布和消费服务。 Spring—DM作为声明式的OSGi服务,已经正式纳入OSGiBlueprint Container规范,这已经深刻影响了OSGi世界。此外,SpringSource已经把Spring—DM捐献给Eclipse并作为OSGi的Gemini成员项目,现在被称为Gemini Blueprint。 Spring LDAP 除了依赖注入和AOP,另一个贯穿Spring框架的常用技术就是创建基于模板的抽象层来封装多余的复杂操作,例如JDBC查询或JMS消息处理。Spring LDAP为我们带来了Spring风格的基于模板的LDAP访问,消除了因使用LDAP而产生的样板式代码。 Spring Rich Client 基于Web的应用似乎成功地将开发者的焦点从传统的桌面应用上吸引过来。但是如果你是为数不多的还在使用Swing开发应用程序中的一员,那么你可能会希望下载Spring Rich Client,它是一个富应用工具箱,为Swing赋予了Spring的魔力。 Spring.NET 如果使用.NET开发应用,你不必放弃依赖注入和AOP。Spring.NET提供了相同的松耦合和面向切面的Spring特性,但它是面向.NET平台的。 除了核心的DI和AOP特性,Spring.NET还自带了简化.NET开发的多个模块,包括ADO.NET、NHibernate、ASP.NET和MSMQ等。
前言/序言
哇!当我写下这些文字的时候,距离Spring 1.0的释放以及我和Ryan Breidenbach开始编写Spring in Action 第一版已经过了七个年头了。那时候,谁又能料到Spring会如此深远地影响Java开发呢?
在第一版中,我和Ryan力图涵盖Spring框架的各个方面。在很大程度上,我们做到了。那时候,整个Spring可以在11章内很容易讲完,其主要特性是依赖注入、AOP、持久化、事务、Spring MVC以及Acegi Security。当然,那时候的讲解需要大量的XML。(还有人记得使用TransactionProxyFactoryBean来声明事务是什么样的吗?)
等到我编写第二版的时候,Spring已经有了相当可观的成长。当我试图将所有的事情再次放在一本书中的时候,我发现这已经不可能了。Spring已经超出了700到800页的书所能讲述的范围。实际上,因为没有足够的篇幅,在第二版中甚至移除了一些已完成的章节。
从第二版的印刷到现在已经过了三年多的时间,Spring也经历了两个主要的版本。Spring涵盖了更多前所未有的领域,要完整讲述Spring的特性恐怕得要好几卷。将Spring的所有事情塞到一本书中根本是不可能的。
所以,我不会去做这样的尝试。
通常来说后续版本的书会更厚一些。但是你可能发现第三版的Spring in Action比第二版页数更少了。要做到这一点有几个原因。
鉴于我无法将所有的内容放到一本书中,所以我对于哪些话题能够放到书中是很挑剔的。我决定专注于那些在我看来大多数Spring开发者都应该知道的话题。这并不是说其他的话题不重要,但这些是Spr
Spring实战(第3版) [Spring in Actiong(Third edition)] epub pdf mobi txt 电子书 下载 2024
Spring实战(第3版) [Spring in Actiong(Third edition)] 下载 epub mobi pdf txt 电子书 2024
Spring实战(第3版) [Spring in Actiong(Third edition)] mobi pdf epub txt 电子书 下载 2024
Spring实战(第3版) [Spring in Actiong(Third edition)] epub pdf mobi txt 电子书 下载 2024