本书深刻揭示了Spring的技术内幕,对IoC、AOP、事务管理等根基性的技术进行了深度的挖掘。读者阅读本书后,不但可以熟练使用Spring的各项功能,对各种Spring内部机制也将了然于胸,真正做到知其然知其所以然。此外,我们还对Spring技术所涉及到的各种Java技术、Java设计模式进行了适时的介绍,通过这些背景知识的准备,读者在理解Spring的各项原理时将不会有任何的障碍。\r\n 在内容的剪裁上,我们力争做到实用性和深入性的统一。Spring技术涵盖面宽广,内容全面而丰富。我们经过谨慎分析,遴选出满足大多数企业应用的技术进行重点的分析和深入的讲解,忽略掉那些比较偏门的技术。这样我们就很好地达到了主次分明、重点突出的目的,而没有陷入“什么都讲,什么都没有讲透”的窠臼之中。
第1篇 概述\r\n 第1章 Spring概述 \r\n 第2章 快速入门 \r\n第2篇 Spring核心技术\r\n 第3章 IoC容器概述 \r\n 第4章 在IoC容器中装配Bean \r\n 第5章 Spring容器高级主题 \r\n 第6章 Spring AOP基础 \r\n 第7章 基于@AspectJ和Schema的AOP \r\n第3篇 数据库访问\r\n 第8章 Spring对DAO的支持 \r\n 第9章 Spring的事务管理 \r\n 第10章 使用Spring JDBC访问数据库 \r\n 第11章 使用JPA访问数据库 \r\n 第12章 整合其他ORM框架 \r\n第4篇 业务层应用 \r\n 第13章 任务调度和异步执行器 \r\n 第14章 JavaMail发送邮件 \r\n 第15章 在Spring中使用JMS \r\n 第16章 在Spring中开发Web Service \r\n 第17章 使用Acegi实施应用系统安全 \r\n 第18章 动态语言支持 \r\n第5篇 展现层应用\r\n 第19章 Spring MVC之一 \r\n 第20章 Spring MVC之二 \r\n 第21章 集成其他Web框架 \r\n第6篇 其他\r\n 第22章 Spring应用的测试 \r\n 第23章 Spring工具类盘点 \r\n附录A 各种数据库连接配置及驱动 \r\n附录B IDE开发环境设置
陈雄,2002年毕业于厦门大学计算机与信息工程学院,获硕士学位。是宝宝淘科技有限公司的创始人之一(www.baobaotao.com),这是一个服务于全国母婴用户的综合性网站,作者负责网站整体框架设计以及核心代码开发的工作。技术开发之余,常将经验所得行诸于文字,作者是天极网、IT168的专栏作者,在各大技术网站、报刊杂志发表过数十篇技术文章,广受读者好评。于2005年出版《精通JBuilder2005》,本书是2005年最畅销技术图书之一。
关于Spring
Spring为Java世界带来了一场震撼性的技术革新,它颠覆了传统Java应用开发的方式,影响和正在影响着Java开发者思考问题的方法。从2004年发布第一个版本以来,Spring逐渐占据了Java开发人员的视线,博得了开源社区一片赞誉之声,开源社区里“春”城无处不飞花。
Spring以反向控制和AOP为框架和核心,统一了应用对象的配置、查找、生命周期管理等工作,清晰地划分出业务逻辑与基础服务两者不同的关注面,开发人员可以使用简单Java对象轻松拥有EJB一样强大的功能。
Spring是一站式的开发框架,它通过自身实现和第三者集成两种途径提供了Java企业应用展现层、业务层、持久层等各项技术。
在业务层里,Spring提供了一个相当完善的解决方案,这包括声明式事务、远程服务、JMS、邮件发送、任务调度多种企业服务。
在展现层里,Spring自身提供了一个出色的Spring MVC框架,该框架和流行的其他MVC框架相比毫不逊色。此外,Spring还集成了各种流行的Web框架,这包括Struts、WebWork、JSF、Tapestry等。
在持久层里,Spring自身提供了Spring JDBC,它大大降低了JDBC API的使用,此外还提供了对JPA、Hibernate、iBatis、JDO、Toplink等持久化技术框架的集成。此外,Spring还提供了一个位于具体持久化技术之上的DAO封装层,借助这一封装层,可以制定出和具体的底层实现技术无关的DAO接口。
从2004年以来,Spring经历了翻天覆地的变化,承载了众多新功能的Spring 2.0在历时一年持续开发后,于2006年10月正式发布。在此之后,Spring新功能的添加和旧功能的调整一直没有间断过,2007年5月,Spring 2.1版本发布。从Spring令人目不暇接的升级更新中,我们可以感受到Spring开发团队以及Spring开源社区的活跃。
本书的特点
揭示内幕、深入浅出:笔者对Spring的源码进行了彻底的分析,深刻揭示了Spring框架的技术内幕,让读者知其然,更知其所以然。Spring中许多设计经验、技巧、模式具有很高的借鉴性,在透彻学习Spring体系结构的同时,读者可以直接将这些方法引借到具体的程序开发中。
同步更新、与时俱进:虽然在2006年初就发布了Spring 2.0的里程碑版本,后来又发布了多个RC版本(候选版本),并最终于2006年10月发布了Spring 2.0的正式版本。在正式版本发布后,Spring又以Spring 2.0.x的形式陆续发布了5个小版本,在2007年5月发布了Spring 2.1正式版本。新功能的添加以及旧功能的调整从来就没有停止过。笔者在本书写作过程中时刻关注Spring新版本功能的变化,并及时调整全书内容与其同步,目前全书内容保持和Spring 2.1版本同步。此外,Hibernate已经更新到3.2版本,Struts更新到2.0版本,XFire、JPA已经成为新兴的受欢迎技术,本书在集成第三方技术时也和最新版本进行同步。
突出重点,淡化边缘:虽然全书洋洋洒洒700余页,我们没有片面追求内容的面面俱到,相反,我们特别注意内容的剪裁和取舍。对于实用性强的知识点深入分析、深度挖掘,而对于不常使用的知识点到为止,甚至不纳入本书的范围。举例来说,我们对使用XFire开发基于Spring的Web Service应用、Acegi安全控制框架以及在Spring中使用JPA这些实用性强的技术都进行了深入的分析,而对如何集成EJB、JMX、JCA等这些不常使用的功能完全不涉及。很好地做到了实用性和深入性二者的统一。
理论透彻、面向实践:本书在透彻分析原理、讲解技术知识点的同时,特别注意与实际应用的结合,笔者将自身丰富的实践经验糅合到全书的相关知识点上,很好地做到知识讲解和实践经验的结合。让读者在掌握纯技术知识的同时,能够对如何活用技术做到胸有成竹。如笔者在第13章讲解任务调度的内容时,专门辟出13.6小节讲解实际应用中任务调度的使用经验;在第14章中讲述使用JavaMail发送电子邮件时,专门通过第14.4小节讲述了在实际应用中发送邮件的各种注意事项。此外,我们还适时提供了“实战经验”的插文,它们在不影响上下文连贯性的同时让读者学习到相关知识的实战经验。诸如此类以实际应用为导向的内容贯穿全书,这是本书区别于其他书籍特色之一。
代码简洁、图例丰富:全书的代码在排版布局以及内容的剪裁上颇费心思,实例代码重点关注当前知识点涉及的内容,弱化边缘代码,并采用特殊的排版方式适时添加简明扼要的注释,方便程序代码的阅读和重点内容的把握。全书拥有大量精美的图表,这些图表很好地解构了上下文中一些难点的知识,大大提高了阅读性,降低了理解的难度。
注重趣味、轻松阅读:由于技术书籍的严谨性、知识性的特点,阅读技术书籍往往是枯燥乏味的,更遑论趣味性。笔者对此深有感触,为寻求一些突破,我们在全书大部分章节都精心设计一个“轻松一刻”,它们和上下文内容存在某种程度的关联性,但其本身是一段趣味性的短文,它们在增强全书趣味性的同时,还为读者提供另外一个思考问题的角度。
相关知识、一网打尽:Spring不但本身涉及众多Java技术,其集成的第三方技术本身也涵盖了丰富的知识。我们在介绍Spring相关技术时,都会简明扼要地讲解相关联的基础知识,这包括JDK 5.0的新知识和被集成技术的知识,准备好知识背景,而不是完全脱离背景知识的情况下孤立讲解Spring的知识。
历时一载、倾力打造:本书从筹划到全书成稿,历经近一年的时间,笔者为了能够全力投入本书的撰写工作中,辞掉了工作,闭门谢客,专职写作。
本书的结构
本书分为6大部分,其中第一部分为Spring概述性知识;第二部分讲解了Spring框架核心技术的内容;第三部分涵盖了在Spring中使用各种数据访问技术的内容;第四部分讲解业务层各种技术的知识;第五部分是展现层技术的知识;第六部分讲解了如何测试Spring应用和Spring各种工具类的知识。其中有些章节的相似内容已经在技术网站IT168技术频道发表,网友和读者给予了充分的评价。最终成书的内容,又在网友评论和反馈的基础上做了补充和修订。下面简要介绍一下每章的内容。
第1章:对Spring框架进行宏观性的概述,力图使读者建立起对Spring整体性的认识。
第2章:通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速跨入Spring Web应用的世界。
第3章:讲解Spring IoC容器的知识,通过具体的实例详细地讲解IoC概念。同时,对Spring框架的三个最重要的框架级接口进行了剖析,并对Bean的生命周期进行讲解。
第4章:讲解了如何在Spring配置文件中使用Spring 2.0的Schema格式配置Bean的内容,并对各个配置项的意义进行了深入的讲解。
第5章:对Spring容器进行解构,从内部探究Spring容器的体系结构和运行流程。此外,我们还将对Spring容器一些高级主题进行深入的阐述。
第6章:我们从Spring AOP的底层实现技术入手,一步步深入到Spring AOP的内核中,分析它的底层结构和具体实现。
第7章:对如何使用Spring 2.0新增的基于AspectJ配置AOP的知识进行了深入的分析,这包括使用XML Schema配置文件、使用注解进行配置等内容。
第8章:介绍了Spring所提供的DAO封装层,这包括Spring DAO的异常体系、数据访问模板等内容。
第9章:介绍了Spring事务管理的工作机制,通过XML、注解等方式进行事务管理配置,同时还讲解了JTA事务配置知识。
第10章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。
第11章:JPA规范是Java EE 5.0标准的数据访问技术,本章对如何在Spring中使用JPA进行了全面的讲解。
第12章:讲解了如何在Spring中集成Hibernate、iBatis等数据访问框架,同时,读者还将学习到ORM框架的混用和DAO层设计的知识。
第13章:本章重点对在Spring中如何使用Quartz进行任务调度进行了讲解,同时还涉及了使用JDK Timer和JDK 5.0执行器的知识。
第14章:本章讲解了如何在Spring中使用JavaMail发送电子邮件的内容,同时还对JavaMail的技术体系进行了介绍。
第15章:在Java EE应用中,JMS是经常使用的技术之一,本章讲解了如何在Spring中使用JMS的相关知识。
第16章:XFire迅速成为Web Service开发框架中的闪亮新星,相比于其他Web Service框架(如Axis、GLUE等),XFire拥有更多的优势。本章使用全新的视角讲述了在Spring中开发Web Service应用的各项知识。
第17章:Acegi提供了系统安全的整体解决方案。Acegi是基于Spring Web应用的安全框架,在Spring中实施Acegi简单易行。本章讲解了如何在Spring Web应用中实施Acegi的整体过程。
第18章:随着Ruby,特别是Ruby on Rail在应用领域所取得的成功,近两年来动态语言成为炙手
无封面