《精通Spring 2.0》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:罗时飞编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:7121035510
  • 页数:539 页
图书介绍:本书是关于Spring 2.0的权威教程,Java/Java EE开发者必备的参考书。本书详尽、系统地阐述了Java EE的基础知识、Spring 2.0的各种高级使用技巧和最佳实践。全书共分为4部分:第1部分介绍Spring 2.0核心技术,主要围绕Spring元框架进行阐述;第2部分介绍DAO层集成技术,主要围绕JDBC、Hibernate和JPA等持久化技术展开论述,同时,也介绍了Spring使能应用的事务管理和集成测试;第3部分介绍Java EE服务及技术的集成,主要围绕企业应用中使用的各种Java EE服务及技术展开论述,Spring 2.0对它们进行了一流的集成工作,从而大大降低了采纳Java EE服务的技术门槛;第4部分介绍Spring 2.0最佳实践,主要从平台差异性和应用差异性角度给出论述。全书理论与实践并重,通过大量的实例帮助读者尽快掌握Spring 2.0的使用技巧,从而提高本书的参考、阅读价值。

第1篇 Spring 2.0核心技术 3

第1章 Java EE 5 3

1.1 Java EE 5引入的新特性 3

1.2 进入EJB 3.0时代 6

1.3 Java EE开发模型的局限性 8

1.4 小结 10

第2章 步入Spring 2.0 11

2.1 挑战Java EE 5开发模型 11

2.1.1 轻量级开发模型 12

2.1.2 倡导敏捷开发 15

2.1.3 Spring 2.0的架构价值 16

2.2 有所为和有所不为 17

2.2.1 Spring 2.0提供的功能 17

2.2.2 排除在外 19

2.3 Spring 2.0时代的到来 20

2.4 小结 21

第3章 获得Spring 2.0发布版和源码 23

3.1 获得Spring 2.0持续发布版 23

3.2 获得持续更新的Spring 2.0项目源码 24

3.2.1 访问存储在CVS中的源代码 25

3.2.2 访问存储在Subversion中的源代码 26

3.3 若干问题的思考 28

3.3.1 重视单元测试及测试覆盖度 28

3.3.2 看重文档 28

3.3.3 对持续集成的重视 28

3.4 小结 29

第4章 启动Spring 2.0使能项目 31

4.1 背景知识介绍 31

4.2 开发平台的搭建 32

4.2.1 选择开发环境 34

4.2.2 Spring IDE的使用 36

4.3 小结 40

第5章 控制反转容器 43

5.1 背景知识 44

5.2 BeanFactory 45

5.2.1 第一个BeanFactory实例 46

5.2.2 基于XML Schema的配置 48

5.2.3 设值(setter)注入 50

5.2.4 构造器注入 51

5.2.5 BeanFactoryAware回调接口 53

5.2.6 BeanNameAware回调接口 54

5.2.7 基于泛型访问BeanFactory 56

5.3 ApplicationContext 56

5.3.1 第一个Application-Context实例 57

5.3.2 加载IoC容器到Web应用中 59

5.3.3 生命周期接口 62

5.3.4 复合多个配置文件 63

5.3.5 国际化和本地化消息资源 64

5.3.6 ApplicationContext-Aware 67

5.3.7 发布并监听事件 69

5.3.8 抽象Bean与子Bean定义 72

5.3.9 方法注入 73

5.3.10 操控资源 78

5.4 高级特性 82

5.4.1 使用BeanFactory-PostProcessor自定义配置元数据 82

5.4.2 自定义属性编辑器 86

5.4.3 受管Bean的作用范围 89

5.4.4 使用BeanPostProcessor自定义受管Bean 95

5.4.5 使用@Required 97

5.4.6 使用FactoryBean自定义实例化逻辑 101

5.4.7 定义集合 112

5.4.8 depends-on 116

5.4.9 Autowiring协作者 118

5.4.10 回调接口的触发顺序 120

5.5 小结 121

第6章 面向切面编程 123

6.1 AOP背景知识 124

6.2 AspectJ 5介绍 125

6.2.1 Before装备 132

6.2.2 AfterReturning装备 134

6.2.3 AfterThrowing装备 136

6.2.4 After装备 138

6.2.5 Around装备 138

6.2.6 引入(Introduction) 140

6.3 Spring AOP基本概念 142

6.4 Spring AOP的老式用法 146

6.4.1 支持的装备类型 146

6.4.2 拦截器链 157

6.4.3 使用autoproxy特性 161

6.4.4 切换代理机制 163

6.4.5 使用TargetSource 164

6.5 基于@AspectJ的AOP 166

6.5.1 声明切面、pointcut和装备 167

6.5.2 pointcut表达语言 174

6.5.3 使用AspectJ 5进行领域对象的依赖注入操作 178

6.6 基于aop命名空间的AOP 186

6.6.1 Spring 2.0引入的aop命名空间 187

6.6.2 声明切面、pointcut和装备 190

6.7 小结 196

第2篇 DAO层集成技术 201

第7章 DAO抽象支持 201

7.1 背景 201

7.2 Spring 2.0对DAO提供的支持 203

7.2.1 DataAccessException异常体系 204

7.2.2 DaoSupport及其子类 205

7.2.3 DataAccessUtils实用类 206

7.3 小结 207

第8章 JDBC集成 209

8.1 背景知识及示例 209

8.2 Spring对JDBC提供的支持 214

8.2.1 运行JDBC版PetClinic实例 214

8.2.2 JdbcTemplate与JdbcDaoSupport 219

8.2.3 NamedParameterJdbc-Template与Named-ParameterJdbc-DaoSupport 228

8.2.4 SimpleJdbcTemplate与SimpleJdbcDao-Support 230

8.2.5 将JDBC操作建模为Java对象 231

8.3 JDBC集成高级特性 234

8.3.1 支持的数据源类型 234

8.3.2 LOB处理 239

8.3.3 大批量数据处理 245

8.3.4 如何生成主键 249

8.3.5 与存储过程交互 250

8.3.6 对行集的支持 252

8.3.7 SQL异常转换器 252

8.4 小结 254

第9章 事务集成 255

9.1 背景知识及示例 255

9.2 Spring对事务提供的支持 258

9.2.1 分析PetClinic的事务管理策略 258

9.2.2 事务定义 262

9.2.3 各种PlatformTransaction-Manager实现 265

9.2.4 编程式事务 266

9.2.5 使用@Transactional注释 271

9.2.6 Spring 2.0引入的tx:advice内容模式 277

9.3 事务集成高级特性 279

9.3.1 Java EE应用服务器的事务集成 279

9.3.2 在AspectJ应用中使用@Transactional 282

9.4 小结 285

9.3.3 选择合适的事务策略 285

第10章 单元和集成测试 287

10.1 背景知识及示例 287

10.2 Spring对集成测试的支持 289

10.2.1 运行PetClinic中的JdbcClinicTests测试 289

10.2.2 支持包的内容 292

10.2.3 基于Annotation注释技术的集成测试 298

10.3 集成测试最佳实践 301

10.4 小结 302

第11章 Hibernate集成 305

11.1 背景知识及示例 305

11.2 Hibernate Tools介绍 312

11.2.1 Ant支持 312

11.2.2 Eclipse支持 315

11.3.1 运行Hibernate版PetClinic实例 317

11.3 Spring对Hibernate提供的支持 317

11.3.2 HibernateTemplate与HibernateCallback 319

11.4 Hibernate集成高级特性 325

11.4.1 事务管理支持 325

11.4.2 LocalSession-FactoryBean 328

11.4.3 AnnotationSession-FactoryBean 329

11.4.4 LOB处理 332

11.5 集成测试支持 339

11.6 小结 343

第12章 Java持久化API集成 345

12.1 背景知识及示例 345

12.2 Spring对JPA提供的支持 348

12.2.1 JpaTemplate与JpaCallback 348

12.2.2 @PersistenceContext注释 355

12.3.1 事务管理支持 358

12.3 JPA集成高级特性 358

12.3.2 装载期织入 359

12.3.3 SharedEntity-ManagerBean 364

12.4 集成测试支持 365

12.5 小结 373

第3篇 集成Java EE服务及技术 377

第13章 JNDI集成 377

13.1 背景知识及示例 377

13.2 Spring对JNDI提供的支持 380

13.2.1 单独使用JndiObject-FactoryBean 380

13.2.2 同时使用JndiObject-TargetSource和Proxy-FactoryBean 385

13.2.3 JndiTemplate与JndiCallback的使用 386

13.3 Spring 2.0引入的jndi-lookup内容模式 388

13.4 小结 389

14.1 背景知识及示例 391

第14章 EJB 3.0集成 391

14.2 Spring对开发EJB组件提供的支持 393

14.2.1 辅助并简化会话Bean组件的开发 394

14.2.2 辅助并简化MDB组件的开发 399

14.3 Spring对访问EJB组件提供的支持 400

14.4 解决性能问题 403

14.4.1 IoC容器的分层管理 405

14.4.2 改进后的设计 408

14.5 小结 409

第15章 线程池和任务调度集成 411

15.1 Spring提供的线程池支持 411

15.2 Spring提供的任务调度支持 414

15.2.1 Spring对java.util.Timer提供的任务调度支持 414

15.2.2 Spring对Quartz提供的任务调度支持 416

15.2.3 Spring对java.util.concurrent提供的任务调度支持 419

15.2.4 Spring对CommonJ提供的任务调度支持 420

15.3 小结 421

第16章 Java消息服务集成 423

16.1 背景知识及示例 424

16.2 Spring对JMS消息提供的支持 426

16.2.1 发送JMS消息 427

16.2.2 同步和异步消费JMS消息 433

16.3 基于JMS提供者的远程服务 440

16.4 JMS事务管理 443

16.5 小结 446

第17章 JavaMail集成 447

17.1 背景知识及示例 447

17.2 Spring对JavaMail提供的支持 450

17.2.1 发送简单邮件 451

17.2.2 发送含有附件的邮件 454

17.2.3 发送含有HTML和内嵌资源的邮件 457

17.3 小结 458

第18章 远程服务集成 459

18.1 远程服务背景知识及示例 459

18.2 Spring对远程服务提供的支持 462

18.2.1 RMI/RMI-IIOP集成支持 463

18.2.2 Hessian和Burlap集成支持 466

18.2.3 HTTP Invoker集成支持 467

18.2.4 Web服务集成支持 468

18.3 小结 471

第19章 Java管理扩展集成 473

19.1 背景知识及示例 474

19.2 Spring对JMX提供的支持 477

19.2.1 自动注册Mbean组件 478

19.2.2 将POJO导出为MBean组件 481

19.2.3 控制MBean组件的管理接口 484

19.2.4 控制MBean组件的ObjectName 488

19.2.5 发送与接收JMX通知 490

19.2.6 通过应用访问MBean组件 492

19.3 小结 494

第20章 Java EE连接器架构集成 495

20.1 背景知识及示例 495

20.2 Spring对JCA CCI提供的支持 497

20.2.1 CciTemplate及相关回调接口 497

20.2.2 将JCA操作建模为Java对象 500

20.3 事务管理 502

20.4 小结 504

第21章 脚本集成 505

21.1 Spring对脚本提供的支持 505

21.2 Spring对Groovy提供的支持 506

21.3 Spring对Jruby提供的支持 510

21.4 Spring对BeanShell提供的支持 512

21.5 小结 513

22.1.1 Java SE基础平台 517

22.1 平衡平台差异性 517

第4篇 Spring 2.0最佳实践 517

第22章 平台的差异性 517

22.1.2 Java EE应用服务器 519

22.1.3 神秘的类装载器 521

22.1.4 各种Java EE容器的增值服务 522

22.2 积累Spring/Java EE知识的绝佳去处 523

第23章 应用的差异性 529

23.1 平衡应用差异性 529

23.1.1 日志管理 529

23.1.2 如何在Web框架中操控DI容器 531

23.1.3 分布式应用 535

23.1.4 享用博客大餐 536

23.2 逐步采纳Spring 2.0 536

23.3 小结 539