第1章 Spring Framework概述 1
1.1 构建业务应用程序 1
1.1.1 Java平台的问题 1
1.1.2 Spring Framework入门 2
1.2 Spring Framework模块简介 2
1.3 范例应用程序简介 4
1.4 应用程序中的依赖管理 5
1.4.1 有依赖的用例 5
1.4.2 处理简单Java中的依赖 8
1.4.3 用JNDI查找依赖 10
1.4.4 利用Spring Framework提供依赖 12
1.5 将Spring Framework与Java EE整合 17
1.5.1 Spring Framework与Java EE技术整合 18
1.5.2 Spring和EJB 18
1.6 在应用程序中配置Spring Framework 19
1.7 小结 21
第2章 核心容器 22
2.1 工厂如何工作 22
2.1.1 工厂方法 22
2.1.2 工厂对象 23
2.2 BeanFactory简介 24
2.2.1 创建BeanFactory对象 25
2.2.2 使用依赖查找 25
2.2.3 使用依赖注入 26
2.2.4 利用XML标签配置bean 38
2.3 检验bean生命周期 40
2.3.1 bean作用域:单例或者原型 41
2.3.2 bean的初始化 45
2.3.3 bean的销毁 48
2.4 在容器中使用工厂方法和工厂对象 51
2.4.1 实现工厂方法 51
2.4.2 实现工厂对象 52
2.4.3 用FactoryBean接口实现工厂对象 54
2.5 ApplicationContext简介 54
2.5.1 表示资源 55
2.5.2 创建ApplicationContext对象 56
2.6 用Spring 2.0 XML标签配置容器 59
2.7 用容器作为部署模型 59
2.8 小结 60
第3章 AOP 61
3.1 扩展应用程序的传统方式 61
3.1.1 扩展基类 62
3.1.2 使用observer设计模式 63
3.1.3 使用decorator设计模式 65
3.1.4 分离关注点的好处 67
3.1.5 面向对象解决方案的局限性 69
3.1.6 AOP入门 69
3.2 典型的Spring AOP框架 70
3.2.1 实现横切关注点 70
3.2.2 在Spring容器中配置AOP 70
3.2.3 使用代理对象 71
3.2.4 过滤方法 73
3.2.5 选择通知类型 75
3.3 Spring Framework中的AOP用法 81
3.4 其他的通知类 82
3.4.1 利用环绕通知记录消息 82
3.4.2 利用环绕通知进行调试 83
3.4.3 利用环绕通知限制并发方法的执行 83
3.5 小结 84
第4章 Spring AOP 2.0 85
4.1 AspectJ和方面简介 85
4.1.1 AspectJ中的连接点和切入点 86
4.1.2 AspectJ方面的创建 86
4.2 在Spring中配置@AspectJ风格的方面 88
4.2.1 简单的@AspectJ风格的方面 88
4.2.2 @AspectJ风格的通知类型 92
4.2.3 切入点的声明和重用 95
4.2.4 Spring容器中的自动代理创建 96
4.2.5 通知和方面排序 98
4.3 利用AOP XML标签 101
4.3.1 AOP配置标签 101
4.3.2 XML方面配置 102
4.3.3 用XML声明和重用切入点 105
4.3.4 用XML声明通知 106
4.3.5 用XML给通知排序 110
4.3.6 包含AspectJ切入点的advisor 110
4.3.7 用XML选择代理类型 111
4.4 使用切入点 112
4.4.1 直接选择方法 113
4.4.2 通过类、包和继承来选择方法 117
4.4.3 通过注解选择方法 118
4.5 绑定通知参数 123
4.5.1 绑定方法参数值 125
4.5.2 绑定返回值 126
4.5.3 绑定异常 126
4.5.4 绑定注解 127
4.6 小结 130
第5章 数据访问简介 132
5.1 Spring与数据访问框架整合 132
5.2 数据访问的难点 133
5.2.1 数据访问泄漏的影响 134
5.2.2 数据库资源 136
5.2.3 与数据访问相关的异常 143
5.2.4 数据库事务 144
5.2.5 抽象 145
5.3 数据访问的Spring解决方案 147
5.3.1 管理数据库资源 147
5.3.2 处理数据访问异常 148
5.3.3 使用数据库事务 149
5.4 数据访问泄漏 150
5.4.1 改变应用程序 150
5.4.2 数据访问代码的抽象 151
5.4.3 使用库适配器 153
5.5 DataSource接口和连接池 155
5.5.1 建立连接池 156
5.5.2 利用值占位符和属性文件 157
5.6 小结 158
第6章 利用JDBC持久化 159
6.1 定义数据层 159
6.2 使用JdbcTemplate类 161
6.2.1 使用JdbcDaoSupport类 163
6.2.2 使用数据库数据 164
6.3 使用回调 167
6.3.1 使用RowMapper接口 168
6.3.2 使用PreparedStatementSetter接口 169
6.4 使用可执行的查询对象 170
6.4.1 使用MappingSqlQuery类 170
6.4.2 使用SqlUpdate类 172
6.4.3 使用StoredProcedure类 174
6.5 创建批量处理 175
6.6 使用LOB 176
6.7 利用NativeJdbcExtractor接口 177
6.8 Spring 2.0新特性简介 178
6.8.1 使用SimpleJdbcTemplate类 178
6.8.2 执行JNDI数据源查找 180
6.9 小结 180
第7章 事务管理 181
7.1 数据库事务 181
7.2 Spring中的事务管理 182
7.2.1 给JDBC配置Spring的事务管理器 183
7.2.2 给JTA配置Spring的事务管理器 184
7.3 Spring中的事务划分 185
7.3.1 Spring 1.0中引入的事务划分 185
7.3.2 Spring 1.2中引入的事务划分 193
7.3.3 Spring 2.0中引入的事务划分 198
7.4 小结 200
第8章 Spring MVC 202
8.1 Web应用程序架构 203
8.1.1 领域模型 204
8.1.2 数据访问层 205
8.1.3 Web请求分发 205
8.1.4 用户界面 205
8.2 Spring MVC架构 206
8.2.1 MVC组件 206
8.2.2 DispatcherServlet和请求处理 208
8.3 Spring MVC配置 210
8.3.1 编写web.xml 210
8.3.2 创建ApplicationContext 212
8.3.3 回顾Web应用程序启动过程 213
8.4 范例Spring MVC应用程序 214
8.4.1 配置范例应用程序 214
8.4.2 实现“列出所有会员”用例 217
8.4.3 实现“查找会员”用例 224
8.4.4 实现“注册新会员”用例 226
8.4.5 预览范例应用程序实现 247
8.5 小结 248
第9章 视图技术 249
9.1 选择视图技术 249
9.2 使用视图解析器 250
9.2.1 使用通用视图解析器 250
9.2.2 合并视图解析器 250
9.3 使用视图技术 251
9.3.1 JSP 251
9.3.2 Velocity 254
9.3.3 FreeMarker 256
9.3.4 XSLT 257
9.3.5 PDF 259
9.3.6 Excel 261
9.3.7 JasperReports 262
9.4 Spring 2.0新表单标签简介 264
9.5 小结 267
第10章 测试 268
10.1 测试方法简介 268
10.1.1 单元测试 269
10.1.2 集成测试 270
10.1.3 测试驱动开发 270
10.2 利用JUnit编写单元测试 271
10.2.1 建立需求 271
10.2.2 编写测试 274
10.2.3 定义测试套件 276
10.3 用EasyMock创建模拟实现 277
10.3.1 定义和实现接口 278
10.3.2 创建模拟对象 279
10.3.3 用EasyMock进行测试 280
10.4 用Spring支持集成测试 282
10.4.1 没有事务的测试 282
10.4.2 使用事务的测试 284
10.4.3 用DataSource进行测试 284
10.5 使用Spring模拟类 285
10.6 小结 285
附录 安装Eclipse WTP 286
展开
——JavaLobby
“本书正是我要找的,以一种简单易懂的方式介绍了很多方面。……对Spring AOP的介绍尤其出色。……可以立竿见影地用到我的项目中。”
——Amazon.com读者评论