您的浏览历史

Spring技术内幕—深入解析Spring架构与设计原理(Java社区和Spring社区一致鼎力推荐!)

  • 定价 : ¥55.00
  • 会员价 : ¥38.50(70折)

本书其他购买

ebook电子书:¥33  购买 优阅
促销活动
  • [本书]参加机械工业出版社华章公司满58元赠书活动
精彩评论

基本信息

  • 作者: 计文柯   
  • 丛书名: 揭秘系列丛书
  • 出版社:机械工业出版社
  • ISBN:9787111288060
  • 上架时间:2009-12-17
  • 出版日期:2010 年1月
  • 开本:16开
  • 页码:300
  • 版次:1-1
  • 所属分类: 计算机 > 软件与程序设计 > JAVA >

    Spring


编辑推荐

深度解读Spring3.0源代码,Java社区和Spring社区一致鼎力推荐!...

内容简介回到顶部↑

本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致强烈推荐。.
国内第一本基于Spring3.0的著作,从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从木书中参透Spring框架的优秀架构和设计思想,而且还能从Spring优雅的实现源码中一窥Java语言的精髓。此外,本书还展示了阅读源代码的卓越方法,不仅授你以鱼,而且还授你以渔!..
如果你以一种淡定的心态翻开这本书,无论你是Java程序员、Spring开发者,还是平台开发人员、系统架构师,抑或是对开源软件源代码着迷的代码狂人,都能从本书中受益。
作者从业10余载,悟透Spring等开源软件的本质,权威性毋庸置疑。
Java开发者社区、专业Spring开发者社区和架构师社区一致鼎力推荐!
深入解析Spring架构原理与设计思想,探究Spring成功的奥秘。
揭开Spring源代码的神秘面纱,展示系统阅读开源软件源代码的方法和秘诀。
掌握Spring的架构原理与设计思想真的能让开发者如虎添翼吗?
IoC容器如何掌控以POJO为基础的Bean对象?它的轻量级开发设计思想是如何实现的?
Spring产品级的IoC容器是如何作为一个完整的系统实现并运行的?它如何启动?如何完成Bean的解析和载入?又如何实现Bean的生命周期管理?
Spring如何简捷地在JVM上实现AOP功能?
Spring AOP如何实现Aspect编织功能?
Spring如何实现各种数据库操作组件的集成?
Spring如何在Web环境中集成IoC容器并为Web应用开发提供利器?
我们耳熟能详的MVC模式在Spring中是如何实现的?
Spring MVC如何灵活地集成各种丰富的视图展现方案?
Spring实现远端调用的方案有很多种,你知道它们之间的优劣差异吗?
Spring ACEGI安全框架在用户验证和授权机制的实现上有何过人之处?
如何在Spring的基础上进行扩展开发?
你是否曾经也有过分析开源软件源代码的冲动?你想掌握分析源代码的最佳实践吗?...

作译者回到顶部↑

作者: 计文柯
计文柯 资深软件开发专家和项目经理,拥有10余年开发经验,对Spring等开源软件的应用和实现原理有深入研究和独到见解。产品研发和项目管理经验丰富,曾任职于华为技术、摩托罗拉等知名企业和硅谷移动互联网创业公司,在软件工程和项目管理方面积累了大量最佳实践。现在正在学习云计算,准备迎接即将爆发的计算革命。闲暇之余,他非常享受历史书籍带给他的快乐!..... << 查看详细

[同作者作品]
Spring技术内幕—深入解析Spring架构与设计原理(Java社区和Spring社区一致鼎力推荐!)

目录回到顶部↑

本书赞誉.
前言
致谢
第1章准备源代码环境 1
1.1安装JDK 1
1.2安装Eclipse 1
1.3安装辅助工具 2
1.4获取Spring源代码 8
1.5Spring源代码的组织结构 10
1.6小结 12
第一部分Spring核心实现篇
第2章Spring Framework的核心:IoC容器的实现 16
2.1Spring IoC容器概述 16
2.1.1IoC容器和依赖反转模式 16
2.1.2Spring的IoC容器系列 18
2.2IoC容器系列的实现:BeanFactory
和ApplicationContext 20
2.2.1BeanFactory对IoC容器的功能定义 20
2.2.2IoC容器XmlBeanFactory的工作原理 22
2.2.3ApplicationContext的特点 24

前言回到顶部↑

作为Java领域中最为成功的开源软件之一,Spring在Java开发中,有不可替代的作用和地位。本书以Spring的源代码为依托,从内部实现的角度,对Spring的设计原理、架构和运行机制进行了翔实的分析。.
忽如一夜春风来,伴随着Rod Johnson的Expert One-on-One J2EE Design and Development(2002年)一书的出版而正式发布的Spring框架(也就是当年的interface21),经过这几年的发展,已经逐渐成熟起来。吹面不寒杨柳风,Spring带来的崭新开发理念,也早已伴随着它的广泛应用而飞入寻常百姓家。
与此同时,随着Spring的不断成熟和完善,开源社区的成长,以及Rod Johnson的得力领导,以Spring为核心的一系列开源软件产品也越来越丰富,现已发展成为一个包括软件构建、开发、运行、部署整个软件生命周期的产品族群。Spring不但改变了Java EE应用的开发和服务模式,向纯商业软件发起了强有力的挑战,而且已成为Java软件生态链中不可或缺的重要组成部分。它所具备的那种平易近人,但却内涵丰富的品质,对我们这些软件爱好者来说,实在是一个不可多得的学习范本。
简化Java企业级应用开发是Spring框架的目标。其轻量级的开发思想,为开发者提供便利的出发点(for the developer, to the developer and by the developer—这是Rod Johnson在一次演讲中的开场白),以及具有活力的开源社区,所有的这些,都为使用Java开发企业应用和Web应用带来了福音。
在Java企业应用中,与我们熟悉的企业应用服务器一样,Spring也希望能够集成管理企业应用资源,以及为应用开发提供平台支持。在这一点上,Spring与UNIX和Windows等传统意义上的操作系统在计算系统中起到的作用是类似的。不同点在于,传统操作系统关心的是存储、计算、通信、外围设备等这些物理资源的管理,并在管理这些资源的基础上为应用程序提供一个统一平台和服务接口;而Spring关心的是如何为开发者集中管理在Java企业应用和Web应用中涉及的数据持久化、事务处理、消息中间件、分布式计算等抽象资源,并在此基础上为应用提供了一个基于POJO的开发环境。尽管二者面向的资源、管理的对象、支持的应用,以及使用的场景不同,但它们在整个计算系统中的定位,却有着可以类比和相互参考之处。所以,笔者根据对传统操作系统的认识方法,粗浅地把对Spring框架的实现划分为核心、组件和应用这三个基本层次,通过对这三个层次中的一些主要特性的实现来剖析Spring的工作原理和运作机制。同时,也把这样的认识逻辑用来组织本书中需要阐述的内容。
在这样的层次划分中,首先看到的是对IoC容器和AOP这两个核心模块的工作原理的分析,它们都是Spring平台实现的核心部分;同时,它们也是Spring的其他模块实现的基础。虽然大多数开发者都只是在此基础上进行相关的配置和使用外部功能,但是深入理解这两个核心模块的工作原理和运作机制对于我们更好地使用Spring进行开发是至关重要的。因为Spring简化Java EE开发是通过对POJO开发提供支持来实现的。Spring通过为基于POJO的开发模式提供支持,从而让应用开发与复杂的Java EE服务实现解耦,并由此通过提高单元测试覆盖率(也就是应用系统的可测试性)来有效地提高Spring应用的开发质量。在这样的开发场景下,需要把为POJO提供支持的各种Java EE服务支持抽象到Spring应用平台中去,并将其封装起来。具体地说,这一系列的封装工作在Spring及其应用实现中离不开IoC容器和AOP这两个核心模块的支持,它们很大程度上体现了Spring作为应用开发平台的核心价值。它们的实现是Rod Johnson在他的另外一本著作Expert One-on-One J2EE Development without EJB中,所提到“Without EJB设计思想”的具体体现,同时,也深刻地体现了Spring背后的设计理念。
其次,在IoC容器和AOP这两个核心模块的支持下,Spring为了简化Java EE开发,为应用开发提供了许多现成的用户态系统组件,比如事务处理、Web MVC、DBC、O/R映射、远端调用等,通过这些系统组件为企业应用服务的实现提供驱动支持。这些由Spring或者其生态系统(其本身、子项目或者社区)提供的、类似于驱动模块般的系统组件是开发应用时经常会用到的Java EE服务抽象。Spring让用户可以用POJO来开发具体的应用,而这些应用往往需要Java EE服务的有力支撑。通过使用Spring提供的这些类似于驱动组件的中间产品,通过这一层Java EE服务的抽象,用户可以通过使用简单的开发接口或者应用模板很方便地使用各种Java EE服务和灵活地选取提供这些服务的各种不同的具体实现方案。比如,可以在各种第三方开源软件或者商业产品中自由地选择。..
Spring作为一个开源项目,它本身就是一个开放的生态系统。对于与Spring相关的一些项目,可以把它们看作某个领域的用户应用,因为它们与Spring的实现紧密相关;或者,它们本身就作为Spring框架的应用案例,体现了许多使用Spring的技巧。这些都是我们开发应用的理想参考,比如ACEGI安全性框架和petclinic应用案例。一方面,可以把这些实现作为应用的一个基本方案加以裁剪,以满足特定领域的需求;另一方面,通过剖析这些应用,可以为应用开发提供很好的参考,提高开发效率。
从更深层次的技术层面上来看,因为Spring是基于Java语言的应用平台,如果我们能够对作为Spring的运行环境的Java计算模型(比如JVM的实现原理)有一些了解,将会加深我们对Spring实现原理的理解。反射机制、代理类、字节码技术等这些JVM特性都是在Spring实现中会涉及的一些Java计算环境的底层技术。一般的应用开发人员可能不会直接从事与JVM底层实现相关的工作,但是这些计算环境的底层知识对我们深入理解Spring是不可缺少的。
在本书的写作过程中,VMware公司收购了Spring的运营者Spring Source。此次商业收购一方面反映了开源软件中蕴含着的巨大商业价值,另一方面反映了Spring的发展趋势:与云计算融合,以及Spring为自己规划的云计算战略—成为PaaS(Platform As a Service)服务的有力竞争者。在云计算这个全新的计算环境中,如何在发挥Spring在企业级应用开发中已经具备的优势的基础上,为云计算应用的开发提供高可靠性、高可用性、高可扩展性和高性能的应用平台,是Spring团队面临的全新挑战。Spring在这个崭新领域的雄心和作为让我们充满好奇和期待,我们拭目以待!
闲话说了这么多,很多读者可能已经有些迫不及待了,也许只有对Spring的实现身临其境地接触才是真实的,这里太多的文字已经成为一种累赘。本书将带领你到Spring的核心实现这个茂密而又充满生机的源代码丛林中去大胆地探寻和小心地求证。在这里,你会惊奇地发现:这个过程就像是阅读优美的散文或情节跌宕起伏的小说一样,是与开源软件开发者以及开发者社区的一种畅快淋漓的交流和对话,让人如痴如醉。
本书面向的读者
q 学习Java语言和Java EE技术的中高级开发者
Spring是使用Java语言实现的,很多功能的源码实现都极其优秀,非常具有研究和参考价值。对这部分读者来说,不仅可以从本书中了解到Spring的实现原理,而且还能通过Spring的源代码,掌握一流的Java编码技巧和Java EE开发技术。
q Spring应用开发人员
如果要利用Spring进行高级应用开发,抑或是相关的优化和扩展工作,仅仅掌握Spring的配置和基本使用是远远不够的,必须要对Spring框架的设计思想、架构和运作机制有一定的了解。对这部分读者而言,本书将带领他们全面了解Spring的实现原理,从而加深对Spring框架的理解,提高自己的开发水平。同时,本书可以作为他们定制和扩展Spring框架的参考资料。
q 开源软件爱好者
Spring是开源软件中的佼佼者,它在实现的过程中吸收了很多开源领域的优秀思想,同时也有很多值得其他开源软件学习的创新。尤为值得一提的是,本书分析Spring源代码的方式也许值得所有想分析源代码的爱好者们学习和借鉴。通过阅读本书,这部分读者不仅能领略到开源软件的优秀思想,而且还能掌握分析源代码的方法和技巧,从而进一步提高使用开源软件的效率和质量。
q 平台开发人员和架构师
前面已经反复强调,Spring的设计思想、架构和实现都非常优秀,是平台开发人员和架构师们不可多得的参考资料。

媒体评论回到顶部↑

作为一个有近10年历史的成功框架,Spnng在Java开发中具有举足轻重的作用。本书从源代码分析入手,对Spring的架构原理和设计思想进行了全面剖析,不仅能让我们更深入、更彻底地认识Spring,领略Spring的架构之美和设计之美,而且更重要的是,它将全面提升我们的Spring开发技能。.
——Spring开发者社区
这是值得所有Spnng开发者反复研读的一本书。Spring是一个优秀的轻量级企业应用开发框架,是Java开发中最流行的工具之一,也是Java程序员必须熟练掌握的一门技术之一。本书从Spring实现原理的角度揭开了Spring的神秘面纱,使得我们在利用Spring进行开发时,不仅能知其然,还能知其所以然,从本质上提升我们对Spring的理解和开发水平。
——Spring中文用户组
这是所有Java程序员应该认真阅读的一本书。Spring框架主要是用Java语言来实现的,本书对大量经典的、优雅的Spring实现代码进行了赏析,不禁让我们感慨Rod Johnson(Spring之父)对Java语言的运用之精妙。如果能跟随本书穿越Spring源代码的丛林,也许我们对Java语言的理解和掌握将会有质的飞跃。..
——中文Java技术网
这是所有软件架构师必备的一本书。成为一名出色的软件架构师,也许是每一位开发者的梦想。在成长为架构师的过程中,在实践中积累并总结经验固然很重要,但是从现有的成功架构中取经也是必不可少的。本书对Spring的各个功能模块的架构原理和设计思想进行了深入剖析,值得所有架构师用心体会和研究,必将受益匪浅。...
——架构师中国

评论交流

共有43人开贴评论  63人参与评论  19人参与打分 查看

11人
 57%
用户平均打分
我要写评论 help如何参与评论和打分
3人
 15%
4人
 21%
1人
 5%
0人
 0%

voodoo83

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-7-10 14:26:00
好书,不过没时间看,就当收藏吧
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

mdw211

专家级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2010-4-10 23:23:00
这本书的内容是大家感兴趣的内容。但是我觉得作者如果能从大的方面分析一下Spring的架构会更好些,如果这样过分强调细节的话,容易陷入泥潭,即使是看懂Spring的代码了,对自己的帮助也不大。
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

buaagxx

三级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-6-8 10:21:00
本书上来就深入代码,总体上的东西讲的少。不过对于spring高级用户来说,倒是不失为一本好书
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

swjken

三级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-6-8 19:34:00
先不谈其他,装帧一般
总的来说,作者付出了心血,而且也讲解的不错——当然不是对初学者而言的,至少得对一般概念有所了解之后再看。
自己作为一个初学者,还是在JavaEye上面看了很多老鸟的博客和文章才理解清楚Spring的架构。
而从书名中的“架构”来看,名不副实,本书大概缺少了100来页有关架构的内容,希望如果能有二版的话,作者能补充这些骨架,自顶向下,再自底向上。否则,第一章还是给初学者描述的怎么用SVN工具下载Spring源码,第二章就直接钻进了Bean工厂里面走读代码,这之间的落差还是有点大
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

nitenike

专家级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2010-6-22 22:28:00
spring书籍比较多,但都比较肤浅,该书不是重在使用讲解,而是更深层去剖spring架构和原理,对spring 中级用户 提升有很大帮助, 建议 中级以上用户参读 。
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共43条)