标题：SpringinAction中文版
版权信息
书 名: SpringinAction中文版 
作　者：(美国)(CraigWalls)沃尔斯 (美国)(RyanBredenbach)布雷登巴赫
出版社： 人民邮电出版社
出版时间： 2008
ISBN: 9787115185273
开本： 16
定价: 59.00 元
内容简介
《SpringinAction》适合所有Java开发人员阅读，特别是对企业级Java开发人员更有帮助。《SpringinAction》循序渐进地指导读者浏览贯穿《SpringinAction》的复杂示例。Spring最突出之处在于它使企业级系统开发变得简单，所以，企业级系统开发人员会更加欣赏《SpringinAction》中的示例代码。《SpringinAction》最后4章描述了Spring是如何为Web层开发提供支持的，如果你是一位Web开发人员，你会发现《SpringinAction》的最后一部分特别有用。
编辑推荐
“真是一本好书……极度推荐。”
——Javalobby. org
“……这《SpringinAction》的确是一本易读、易懂又实在有用的Sprin9向导书。如果你认为自己在Spring方面还有全方位学习的需要，那么它应该有足够的理由在你的书架上占据一席之地。”
——熊节，ThoughtWorks咨询师
《SpringinAction》（第2版）是畅销书《SpringinAction》的第二版。在上一版的基础上，本版扩展了很多内容，并涵盖TSpring的许多新特性。
Spring是一种轻型容器式框架，能够利用简单的Java对象创建企业级组件。通过使用依赖注入和AOP，Spring能够生成松耦合代码。让老式普通的Java对象具有了以前由EJB所独有的功能。《SpringinAction》以实用为主要目标，通过大量的范例来展示Spring框架。结合一些实用代码片段，向读者介绍如何建立简单而有效的J2EE程序，如何解决数据存留问题、处理异步消息、创建和使用远程服务、建立Web程序以及与其他流行框架集成。读者将学习到如何利用Spring编写更简单、更易维护的代码，从而把主要精力集中到真正的核心问题上：关键的业务需求。
《SpringinAction》针对想利用简单的Java对象来创建企业级程序的Java开发人员，即使是EJB的铁杆支持者也会喜欢《SpringinAction》。因为其中介绍了如何结合EJB组件与SPring。《SpringinAction》还涉及了软件体系，并介绍了如何把Spring应用到企业级程序的不同层次。
目录
第一部分Spring的核心
第1章开始Spring之旅
1.1Spring是什么
1.2开始Spring之旅
1.3理解依赖注入
1.3.1依赖注入
1.3.2DI应用
1.3.3企业级应用中的依赖注入
1.4应用AOP
1.4.1AOP介绍
1.4.2AOP使用
1.5小结
第2章基本Bean装配
2.1容纳你的Bean
2.1.1BeanFactory介绍
2.1.2使用应用上下文
2.1.3Bean的生命
2.2创建Bean
2.2.1声明一个简单的Bean
2.2.2通过构造函数注入
2.3注入Bean属性
2.3.1注入简单的数值
2.3.2使用其他的Bean
2.3.3装配集合
2.3.4装配空值
2.4自动装配
2.4.1四种自动装配类型
2.4.2混合使用自动和手动装配
2.4.3何时采用自动装配
2.5控制Bean创建
2.5.1Bean范围化
2.5.2利用工厂方法来创建Bean
2.5.3初始化和销毁Bean
2.6小结
第3章高级Bean装配
3.1声明父Bean和子Bean
3.1.1抽象基Bean类型
3.1.2抽象共同属性
3.2方法注入
3.2.1基本的方法替换
3.2.2获取器注入
3.3注入非SpringBean
3.4注册自定义属性编辑器
3.5使用Spring的特殊Bean
3.5.1后处理Bean
3.5.2Bean工厂的后处理
3.5.3配置属性的外在化
3.5.4提取文本消息
3.5.5程序事件的解耦
3.5.6让Bean了解容器
3.6脚本化的Bean
3.6.1给椰子上Lime
3.6.2脚本化Bean
3.6.3注入脚本化Bean的属性
3.6.4刷新脚本化Bean
3.6.5编写内嵌的脚本化Bean
3.7小结
第4章通知Bean
4.1AOP简介
4.1.1定义AOP术语
4.1.2Spring对AOP的支持
4.2创建典型的Spring切面
4.2.1创建通知
4.2.2定义切点和通知者
4.2.3使用ProxyFactoryBean
4.3自动代理
4.3.1为Spring切面创建自动代理
4.3.2自动代理@AspectJ切面
4.4定义纯粹的POJO切面
4.5注入AspectJ切面
4.6小结
第二部分企业Spring
第5章使用数据库
5.1Spring的数据访问哲学
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.3.3使用Spring对JDBC的DAO支持类
5.4在Spring里集成Hibernate
5.4.1选择Hibernate的版本
5.4.2使用Hibernate模板
5.4.3建立基于Hibernate的DAO
5.4.4使用Hibernate3上下文会话
5.5Spring和Java持久API
5.5.1使用JPA模板
5.5.2创建一个实体管理器工厂
5.5.3建立使用JPA的DAO
5.6Spring和iBATIS
5.6.1配置iBATIS客户模板
5.6.2建立基于iBATIS的DAO
5.7缓存
5.7.1配置缓存方案
5.7.2缓存的代理Bean
5.7.3注解驱动的缓存
5.8小结
第6章事务管理
6.1理解事务
6.1.1仅用4个词解释事务
6.1.2理解Spring对事务管理的支持
6.2选择事务管理器
6.2.1JDBC事务
6.2.2Hibernate事务
6.2.3JPA事务
6.2.4JDO事务
6.2.5JTA事务
6.3在Spring中编写事务
6.4声明式事务
6.4.1定义事务参数
6.4.2代理事务
6.4.3在Spring2.0里声明事务
6.4.4定义注释驱动事务
6.5小结
第7章保护Spring
7.1SpringSecurity介绍
7.2验证用户身份
7.2.1配置ProviderManager
7.2.2根据数据库验证身份
7.2.3根据LDAP仓库进行身份验证
7.3控制访问
7.3.1访问决策投票
7.3.2决定如何投票
7.3.3处理投票弃权
7.4保护Web应用程序
7.4.1代理SpringSecurity的过滤器
7.4.2处理安全上下文
7.4.3提示用户登录
7.4.4处理安全例外
7.4.5强制Web安全性
7.4.6确保一个安全的通道
7.5视图层安全
7.5.1有条件地渲染内容
7.5.2显示用户身份验证信息
7.6保护方法调用
7.6.1创建一个安全切面
7.6.2使用元数据保护方法
7.7小结
第8章Spring和基于POJO的远程服务
8.1Spring远程调用概览
8.2与RMI一起工作
8.2.1连接RMI服务
8.2.2输出RMI服务
8.3使用Hessian和Burlap的远程调用
8.3.1访问Hessian/Burlap服务
8.3.2用Hessian或Burlap公开Bean的功能
8.4使用HTTPinvoker
8.4.1通过HTTP访问服务
8.4.2把Bean作为HTTP服务公开
8.5Spring和Web服务
8.5.1使用XFire将Bean输出为Web服务
8.5.2使用JSR-181注释声明Web服务
8.5.3消费Web服务
8.5.4使用XFire客户端代理Web服务
8.6小结
第9章在Spring中建立契约优先Web服务
9.1介绍Spring-WS
9.2定义契约(首先！)
9.3使用服务端点处理消息
9.3.1建立基于JDOM消息的端点
9.3.2序列化消息载荷
9.4合并在一起
9.4.1Spring-WS：全景视图
9.4.2将消息映射到端点
9.4.3置入服务端点
9.4.4配置消息序列化器
9.4.5处理端点异常
9.4.6提供WSDL文件
9.4.7部署服务
9.5消费Spring-WSWeb服务
9.5.1使用Web服务模板
9.5.2使用Web服务的网关支持
9.6小结
第10章Spring消息
10.1JMS简介
10.1.1构建JMS
10.1.2介绍JMS的优点
10.1.3在Spring中安装ActiveMQ
10.2协同使用JMS和Spring
10.2.1处理冗长失控的JMS代码
10.2.2使用JMS模板
10.2.3转换消息
10.2.4将Spring的网关支持类应用于JMS
10.3创建消息驱动POJO
10.3.1创建消息监听器
10.3.2编写纯POJOMDP
10.4使用基于消息的RPC
10.4.1引入Lingo
10.4.2输出服务
10.4.3代理JMS
10.5小结
第11章Spring和EJB
11.1在Spring中置入EJB
11.1.1代理会话Bean(EJB2.x)
11.1.2将EJB置入SpringBean
11.2开发Spring驱动的EJB(EJB2.x)
11.3Spring和EJB3
11.3.1引入Pitchfork
11.3.2从Pitchfork起步
11.3.3通过注释注入资源
11.3.4使用注释声明拦截器
11.4小结
第12章访问企业服务
12.1从JNDI中获取对象
12.1.1使用传统的JNDI
12.1.2注入JNDI对象
12.1.3在Spring2中注入JNDI对象
12.2发送电子邮件
12.2.1配置邮件发送器
12.2.2构建电子邮件
12.3调度任务
12.3.1使用JavaTimer调度任务
12.3.2使用Quartz调度器
12.3.3按调度计划调用方法
12.4使用JMX管理SpringBean
12.4.1将SpringBean输出为MBean
12.4.2远程访问MBean
12.4.3处理通知
12.5小结
第三部分Spring客户端
第13章处理Web请求
13.1开始SpringMVC之旅
13.1.1请求生命中的一天
13.1.2配置DispatcherServlet
13.1.3SpringMVC概述
13.2将请求映射到控制器
13.2.1使用SimpleUrlHandlerMapping
13.2.2使用ControllerClassNameHandlerMapping
13.2.3使用元数据映射控制器
13.2.4使用多映射处理器
13.3用控制器处理请求
13.3.1处理命令
13.3.2处理表单提交
13.3.3用向导处理复杂表单
13.3.4使用一次性控制器
13.4处理异常
13.5小结
第14章渲染Web视图
14.1视图解析
14.1.1使用模板视图
14.1.2解析视图Bean
14.1.3选择视图解析器
14.2使用Spring模板
14.2.1绑定表单数据
14.2.2渲染被存储在外部的文本
14.2.3显示错误
14.3使用Tile设计页面布局
14.3.1Tile视图
14.3.2Tile控制器
14.4使用JSP的替代技术
14.4.1使用Velocity模板
14.4.2使用FreeMarker
14.5产生非HTML输出
14.5.1产生Excel工作表
14.5.2产生PDF文档
14.5.3开发自定义视图
14.6小结
第15章使用SpringWebFlow
15.1开始SpringWebFlow之旅
15.1.1安装SpringWebFlow
15.1.2配置流程执行程序
15.1.3登记流程定义
15.2布置流程的基础
15.2.1流程变量
15.2.2start和end状态
15.2.3搜集顾客信息
15.2.4绑定比萨饼订单
15.2.5完成订单
15.2.6几个结束工作
15.3高级Web流程技术
15.3.1使用decision状态
15.3.2提炼子流程并使用子状态
15.4集成SpringWebFlow与其他框架
15.4.1JakartsStruts
15.4.2JavaServerFace
15.5小结
第16章集成其他Web框架
16.1协同使用Spring和Struts
16.1.1向Struts注册Spring插件
16.1.2编写知晓Spring的Struts动作
16.1.3委托Spring配置的动作
16.1.4关于Struts2
16.2协同使用Spring和WebWork2/Struts2
16.3集成Spring和Tapestry
16.3.1集成Spring和Tapestry3
16.3.2集成Spring和Tapestry4
16.4协同使用Spring和JSF
16.4.1解析JSF管理的属性
16.4.2解析SpringBean
16.4.3在JSF页面中使用SpringBean
16.4.4在JSF中暴露应用程序环境
16.5Spring中带有DWR的支持Ajax的应用程序
16.5.1直接Web远程控制
16.5.2访问Spring管理的BeanDWR
16.6小结
附录A装配Spring
A.1下载Spring
A.1.1研究Spring发布
A.1.2构建自己的类路径
A.2把Spring添加为一个Maven2依赖项
A.3Spring与Ant
A.4Spring与Log4j
附录B用(和不用)Spring进行测试
B.1测试简介
B.1.1理解不同类型的测试
B.1.2使用JUnit
B.1.3Spring在测试中的角色
B.2单元测试SpringMVC控制器
B.2.1模拟对象
B.2.2断言ModelAndView的内容
B.3使用Spring进行综合测试
B.3.1测试装配后的对象
B.3.2综合测试事务处理对象
B.3.3测试数据库
B.3.4使用GienahTesting在JUnit4中进行测试
B.4小结
……