本书分为三大部分和两个附录,每一部分专注于Spring框架的一个领域:核心层、中间层和Web层。第一部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented Programming,AOP),以便读者理解Spring的基础原理,这些基础原理在本书各个章节都会用到。第二部分在第1章介绍的IoC和AOP基础之上,展示了如何将这两个概念应用到应用系统的中间层。第三部分走出中间层迈向显示层,在很多J2EE系统中显示层被称为Web层。附录A介绍如何开始自己的Spring应用系统,如何下载Spring以及如何编写Ant配置文件。附录B介绍一些与Spring有关的其他开源框架。本书的每一部分既是建立在前一部分的基础上,同时也都是独立存在的,所以,读者不必从头开始就可以深入到各个主题。
本书适合所有Java开发人员,特别是对企业级Java开发人员更有帮助。本书将循序渐进地指导读者浏览贯穿本书的复杂示例。Spring最突出之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏本书中的示例代码。本书最后4章描述了Spring是如何为Web层开发提供支持的,如果你是一位Web开发人员,你会发现本书的最后一部分特别有用。
spring in action 第三版 中文版目录
第一部分 Spring基础
第1章 开始Spring之旅
1.1 为什么使用Spring
1.1.1 J2EE开发者的一天
1.1.2 Spring的承诺
1.2 Spring是什么
1.3 开始Spring之旅
1.4 理解反向控制
1.4.1 依赖注入
1.4.2 IoC应用
1.4.3 企业级应用中的IoC
1.5 应用AOP
1.5.1 AOP介绍
1.5.2 AOP使用
1.5.3 企业级应用中的AOP
1.6 Spring比较
1.6.1 比较Spring和EJB
1.6.2 关于其他轻量级容器
1.6.3 Web框架
1.6.4 持久层框架
1.7 小结
第2章 装配Bean
2.1 容纳你的Bean
2.1.1 BeanFactory介绍
2.1.2 使用应用上下文
2.1.3 Bean的生命
2.2 基本装配
2.2.1 使用XML装配
2.2.2 添加一个Bean
2.2.3 通过Set方法注入依赖
2.2.4 通过构造函数注入依赖
2.3 自动装配
2.3.1 处理自动装配中的不确定性
2.3.2 混合使用自动和手动装配
2.3.3 缺省自动装配
2.3.4 何时采用自动装配
2.4 使用Spring的特殊Bean
2.4.1 对Bean进行后处理
2.4.2 对Bean工厂进行后处理
2.4.3 分散配置
2.4.4 定制属性编辑器
2.4.5 解析文本信息
2.4.6 监听事件
2.4.7 发布事件
2.4.8 感知其他Bean
2.5 小结
第3章 创建切面
3.1 AOP介绍
3.1.1 定义AOP术语
3.1.2 Spring的AOP实现
3.2 创建通知
3.2.1 前置通知
3.2.2 后置通知
3.2.3 环绕通知
3.2.4 异常通知
3.2.5 引入通知
3.3 定义切入点
3.3.1 在Spring中定义切入点
3.3.2 理解Advisor
3.3.3 使用Spring的静态切入点
3.3.4 使用动态切入点
3.3.5 切入点实施
3.4 创建引入
3.4.1 实现IntroductionInterceptor
3.4.2 创建一个引入Advisor
3.4.3 谨慎使用引入通知
3.5 使用ProxyFactoryBean
3.6 自动代理
3.6.1 BeanNameAutoProxyCreator
3.6.2 DefaultAdvisorAutoProxyCreator
3.6.3 元数据自动代理
3.7 小结
第二部分 Spring在业务层的应用
第4章 征服数据库
4.1 学习Spring的DAO理念
4.1.1 理解Spring的DataAccessException
4.1.2 与DataSource一起工作
4.1.3 一致的DAO支持
4.2 在Spring中使用JDBC
4.2.1 JDBC代码的问题
4.2.2 使用JdbcTemplate
4.2.3 把操作创建成对象
4.2.4 自增键
4.3 介绍Spring的ORM框架支持
4.4 用Spring整合Hibernate
4.4.1 Hibernate概览
4.4.2 管理Hibernate资源
4.4.3 用HibernateTemplate访问Hibernate
4.4.4 HibernateDaoSupport的子类
4.5 Spring和JDO
4.5.1 配置JDO
4.5.2 用JdoTemplate访问数据库
4.6 Spring和iBATIS
4.6.1 配置SQL Map
4.6.2 使用SqlMapClientTemplate
4.7 Spring和OJB
4.8 小结
第5章 事务管理
5.1 理解事务
5.1.1 仅用4个词解释事务
5.1.2 理解Spring对事务管理的支持
5.1.3 介绍Spring的事务管理器
5.2 在Spring中编写事务
5.3 声明式事务
5.3.1 理解事务属性
5.3.2 声明一个简单的事务策略
5.4 通过方法名声明事务
5.4.1 使用NameMatchTransactionAttributeSource
5.4.2 名称匹配事务的捷径
5.5 用元数据声明事务
5.5.1 用元数据来书写事务属性
5.5.2 用Commons Attributes声明事务
5.6 修剪事务声明
5.6.1 从父TransactionProxyFactoryBean继承
5.6.2 自动代理事务
5.7 小结
第6章 远程调用
6.1 Spring远程调用概览
6.2 与RMI一起工作
6.2.1 连接RMI服务
6.2.2 输出RMI服务
6.3 使用Hessian和Burlap的远程调用
6.3.1 访问Hessian/Burlap服务
6.3.2 用Hessian或Burlap公开Bean的功能
6.4 使用HTTP invoker
6.4.1 通过HTTP访问服务
6.4.2 把Bean作为HTTP服务公开
6.5 使用EJB
6.5.1 访问EJB
6.5.2 用Spring开发EJB
6.6 使用JAX-RPC的Web Service
6.6.1 用JAX-RPC应用一个Web Service
6.6.2 在Spring里置入一个Web Service
6.7 小结
第7章 访问企业服务
7.1 从JNDI中获取对象
7.1.1 使用传统的JNDI
7.1.2 代理JNDI对象
7.2 发送电子邮件
7.3 调度任务
7.3.1 使用Java Timer调度任务
7.3.2 使用Quartz调度器
7.3.3 按调度计划调用方法
7.4 使用JMS发送消息
7.4.1 使用JMS模板发送消息
7.4.2 消费消息
7.4.3 转换消息
7.5 小结
第三部分 Spring在Web层的应用
第8章 建立Web层
8.1 开始Spring MVC之旅
8.1.1 请求生命中的一天
8.1.2 配置DispatcherServlet
8.1.3 Spring MVC概述
8.2 将请求映射到控制器
8.2.1 将URL映射到Bean名称
8.2.2 使用SimpleUrlHandlerMapping
8.2.3 使用元数据映射控制器
8.2.4 使用多映射处理器
8.3 用控制器处理请求
8.3.1 编写一个简单的控制器
8.3.2 处理命令
8.3.3 处理表单提交
8.3.4 用向导处理复杂表单
8.3.5 在一个控制器中处理多个动作
8.3.6 使用一次性控制器
8.4 视图解析
8.4.1 使用模板视图
8.4.2 解析视图Bean
8.4.3 选择视图解析器
8.5 使用Spring的绑定标签
8.6 处理异常
8.7 小结
第9章 其他视图技术
9.1 使用Velocity模板
9.1.1 定义Velocity视图
9.1.2 配置Velocity引擎
9.1.3 解析Velocity视图
9.1.4 格式化日期和数字
9.1.5 暴露请求和会话属性
9.1.6 在Velocity中绑定表单域
9.2 使用FreeMarker
9.2.1 构造一个FreeMarker视图
9.2.2 配置FreeMarker引擎
9.2.3 解析FreeMarker视图
9.2.4 在FreeMarker中绑定表单域
9.3 使用Tile设计页面布局
9.3.1 Tile视图
9.3.2 Tile控制器
9.4 产生非HTML输出
9.4.1 产生Excel工作表
9.4.2 产生PDF文档
9.4.3 产生其他非HTML文件
9.5 小结
第10章 使用其他Web框架
10.1 使用Jakarta Struts
10.1.1 注册Spring插件
10.1.2 实现知晓Spring的Struts action
10.1.3 委托action
10.2 使用Tapestry
10.2.1 替换Tapestry引擎
10.2.2 装载Spring Bean至Tapestry页面中
10.3 集成JavaServer Faces
10.3.1 解析变量
10.3.2 发布请求已处理事件
10.4 集成WebWork
10.4.1 WebWork1
10.4.2 XWork/WebWork2
10.5 小结
第11章 保护Spring 应用程序
11.1 Acegi安全系统介绍
11.1.1 安全拦截器
11.1.2 认证管理器
11.1.3 访问决策管理器
11.1.4 运行身份管理器
11.2 管理身份验证
11.2.1 配置ProviderManager
11.2.2 根据数据库验证身份
11.2.3 根据LDAP仓库进行身份验证
11.2.4 基于Acegi和Yale CAS实现单次登录
11.3 控制访问
11.3.1 访问决策投票
11.3.2 决定如何投票
11.3.3 处理投票弃权
11.4 保护Web应用程序
11.4.1 代理Acegi的过滤器
11.4.2 强制Web安全性
11.4.3 处理登录
11.4.4 设置一个安全上下文
11.4.5 确保通道安全性
11.4.6 使用Acegi的标签库
11.5 保护方法调用
11.5.1 创建一个安全切面
11.5.2 使用元数据保护方法
11.6 小结
附录A 装配Spri
A.1 下载Spring
A.2 选择一种JAR文件
A.3 搭建你的项目
A.4 利用Ant创建
附录B Spring相关项目
B.1 AppFuse
B.2 Rich Client Project
B.3 Spring.NET
- PC官方版
- 安卓官方手机版
- IOS官方手机版