1. Spring In Action
    1. Spring的核心
      1. Spring之旅
        1. 简化java开发
          1. 激发pojo的潜能
          2. 依赖注入
          3. 应用切面
          4. 使用模版消除样板式代码
        2. 容纳你的bean
          1. 与应用上下文共事
          2. bean的生命周期
        3. 俯翰Spring风景线
          1. spring模版
          2. spring portfolio
        4. Spring新功能
          1. spring2.5新特性
          2. spring3.0新特性
          3. spring portfollo新特性
      2. 装配Bean
        1. 声明Bean
          1. 创建spring配置
          2. 声明一个简单的bean
          3. 通过构造器注入
          4. bean的作用域
          5. 初始化和销毁bean
        2. 注入Bean属性
          1. 引入简单值
          2. 引入其他bean
          3. 使用spring的命名空间
          4. 装配属性
          5. 装配集合
          6. 装配空值
        3. 使用表达式装配
          1. spEL的基本原理
          2. 在spEL值上执行操作
          3. 在spEL中筛选集合
      3. 最小化SpringXML配置
        1. 自动装配bean属性
          1. 4种类型的自动装配
          2. 默认的自动装配
          3. 混合使用自动装配和显示装配
        2. 使用注解装配
          1. 使用@Autowired
          2. 借助@Inject实现基于标准的自动装配
          3. 在注解中使用表达式
        3. 自动检测Bean
          1. 为自动检测标注bean
          2. 过滤组件扫描
        4. 使用Spring基于Java的配置
          1. 创建基于java的配置
          2. 定义一个配置类
          3. 声明一个简单的bean
          4. 使用spring的基于java的配置进行注入
      4. 面向切面的Spring
        1. 什么是面向切面编程
          1. 定义AOP术语
          2. Spring对AOP的支持
        2. 使用切点选择连接点
          1. 编写切点
          2. 使用spring的bean()指示器
        3. 在XML中声明切面
          1. 声明前置和后置通知
          2. 声明环绕通知
          3. 为通知传递参数
          4. 通过切面引入新功能
        4. 注解切面
          1. 注解环绕通知
          2. 传递参数给所标注的通知
          3. 标注引入
        5. 注入AspectJ切面
    2. Spring应用程序的核心组件
      1. 征服数据库
        1. Spring的数据访问哲学
          1. 了解spring的数据库访问异常体系
          2. 数据访问模块化
          3. 使用DAO支持类
        2. 配置数据源
          1. 使用JNDI数据源
          2. 使用数据源连接池
          3. 基于JDBC驱动的数据源
        3. 在Spring中使用JDBC
          1. 应对失控的jdbc代码
          2. 使用jdbc模版
        4. 在Spring中集成Hibernate
          1. hibernate预览
          2. 声明hibernate的session工厂
          3. 构建不依赖于spring的hibernate代码
        5. Spring与Java持久化API
          1. 配置实体管理器工厂
          2. 编写基于JPA的DAO
      2. 事务管理
        1. 理解事务
          1. 用4个词来表示事务
          2. 理解spring对事务管理的支持
        2. 选择事务管理器
          1. JDBC事物
          2. Hibernate事务
          3. Java持久化API事务
          4. JTA(Java Transaction API)事务
        3. 在Spring中的编码事务
        4. 声明式事务
          1. 定义事务属性
          2. 在XML中定义事务
          3. 定义注解驱动的事务
      3. 使用Spring MVC构建Web应用程序
        1. SpringMVC起步
          1. 跟踪SpringMVC的请求
          2. 搭建SpringMVC
        2. 编写基本的控制器
          1. 配置注解驱动的SpringMVC
          2. 定义首页的控制器
          3. 解析视图
          4. 定义首页的视图
          5. 完成spring应用上下文
        3. 处理控制器的输入
          1. 编写处理输入的控制器
          2. 渲染视图
        4. 处理表单
          1. 展现注册表单
          2. 处理表单输入
          3. 校验输入
        5. 处理文件上传
          1. 在表单上添加文件上传域
          2. 接收上传文件
          3. 配置spring支持文件上传
      4. 使用SpringWebFlow
        1. 安装SpringWebFlow
        2. 流程的组件
        3. 组合起来:比萨流程
        4. 保护Web流程
      5. 保护Spring应用
        1. Spring Security介绍
        2. 保护Web请求
        3. 保护视图级别的元素
        4. 认证用户
        5. 保护方法的调用
    3. Spring集成
      1. 使用远程服务
        1. Spring远程调用概览
        2. 使用RMI
        3. 使用Hession和Burlap发布远程服务
        4. 使用Spring的HttpInvoker
        5. 发布和使用Web服务
      2. 为Spring添加REST功能
        1. 了解REST
        2. 编写面向资源的控制器
        3. 表达资源
        4. 编写REST客户端
        5. 提交RESTful表单
      3. Spring消息
        1. JMS简介
        2. 在Spring中搭建消息代理
        3. 使用Spring的JMS模版
        4. 创建消息驱动的POJO
        5. 使用基于消息的RPC
      4. 使用JMX管理
        1. 将SpringBean导出为MBean
        2. 远程MBean
        3. 处理通知
      5. 其他Spring技巧
        1. 外部化配置
        2. 装配JNDI对象
        3. 发送邮件
        4. 调度和后台任务
  2. 基本框架
    1. 核心容器
    2. Spring上下文
    3. SpringAOP
    4. SpringDAO
    5. SpringORM
    6. SpringWeb模块
    7. SpringMVC框架