您好,欢迎光临有路网!
Spring in Action中文版
QQ咨询:
有路璐璐:

Spring in Action中文版

  • 作者:(美)沃尔斯 (美)布雷登巴赫 李磊 程立 周悦虹
  • 出版社:人民邮电出版社
  • ISBN:9787115143150
  • 出版日期:2006年03月01日
  • 页数:382
  • 定价:¥39.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书分为三大部分和两个附录,每一部分专注于Spring框架的一个领域:核心层、中间层和Web层。**部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented Programming,AOP),以便读者理解Spring的基础原理,这些基础原理在本书各个章节都会用到。第二部分在第1章介绍的IoC和AOP基础之上,展示了如何将这两个概念应用到应用系统的中间层。第三部分走出中间层迈向显示层,在很多J2EE系统中显示层被称为Web层。附录A介绍如何开始自己的Spring应用系统,如何下载Spring以及如何编写Ant配置文件。附录B介绍一些与Spring有关的其他开源框架。本书的每一部分既是建立在前一部分的基础上,同时也都是独立���在的,所以,读者不必从头开始就可以深入到各个主题。
    本书适合所有Java开发人员,特别是对企业级Java开发人员更有帮助。本书将循序渐进地指导读者浏览贯穿本书的复杂示例。Spring*突出之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏本书中的示例代码。
    文章节选
    前言
    致谢
    这本书的创作不仅仅是两个人的事情。除了两位作者之外,在各个方面很多人的参与之下才使这本书的诞生成为可能。
    首先,我们要感谢Manning出版社的幕后工作人员:发行人Marjan Bace、他的助手Susan
    Capparelle、我们的编辑Jackie Carter,还有Denis Dalinnik、Leslie Haimes、Mary
    Piergies、Liz Welch、Susan Forsyth 和 Helen
    Trimes。我们无法想象还能找到更好更专业的队伍合作。你们在自己的岗位上都做得非常好,并且应该为制作出世界上*好的技术书而得到称赞。
    我们还要感谢本书的审阅者:Doug Warren、Muhammad Ashikuzzaman、Ryan
    Cox、Mojahedul、Hasanat、Jack Herrington、 Olivier Jolly、William Lopez、Lester
    Martin、Dmitri Maximovich、Daniel Miller、Christian Parker、 Matthew
    Payne和Norman Richards,谢谢你们贡献了大量时间,提供给我们许多的反馈、批评和灵感,使本书更为完善。特别要感谢Doug
    Warren,在本书印刷之前,对原稿进行技术校正。
    *后,还要感谢Rod
    Johnson和Spring小组的其他人,感谢他们在**线创造了Spring。我们可以很诚实地说,使用Spring真是一件令人愉快的事。你们真是太棒了!
    CRAIG WALLS
    我想感谢我亲爱的美丽的妻子:Raymie。你是我一生的*爱和*好的朋友,也是我*甜蜜的梦。谢谢你对我的支持和耐心,对于还在进行中的另一个图书项目——我保证马上就会结束了。
    我的合著者,Ryan,是他让我开始了解Spring并帮助我整理这本书,把Spring告诉其他所有的人。
    对于我在Michaels的小组成员——Ryan、Marianna、Van、Tonji、Jeff、Jim、Don、Carol
    和Leida,感谢你们每**都展现了一个***软件开发小组的水平和能力。现在这本书终于完成了,或许我将不用再谢绝这么多午餐邀请了!
    感谢我在今年的全国巡回软件研讨会No-Fluff/Just-Stuff上遇到和交谈的朋友和同事:Glenn Vanderburg、Ted
    Neward、Bruce Tate、Venkat Subramaniam、Ramnivas Laddad、Dave Thomas、Erik
    Hatcher、 Howard Lewis Ship、Neal Ford、Rick Hightower、Ben Galbraith、Stuart
    Halloway 和 Matt Raible。感谢Jay Zimmerman一直以来的指导,并在2004年邀请我成为其中一员。
    感谢在背后支持我的朋友和邻居:John、Jennifer以及经常为Raymie和我提供比萨饼、电影,还有忙里偷闲的休息的Tobey。
    感谢Dick Wolf创办的“法律&秩序”,这个电视节目在我写作的时候提供了大量的背景噪声。
    以及其他我在XDoclet in Action中感谢的所有人。
    RYAN BREIDENBACH
    首先,我要感谢我的妻子Angi。是你无限的耐心和鼓励让我能更加努力。我向你保证,在这本书完成后,你将会看到我更多的笑容和更加畅快的呼吸。
    感谢我的女儿Julia,帮助我在脑海中形成写一本书应有的压力。在写作之余,访问一下“Elmo的世界和Jo Jo的马戏团”站点是件愉快的事情。
    感谢我的父母,Mark和Lynda,还有我的兄弟Lee,能理解我为何在拜访你们的时候还埋头于我的笔记本。使我在将来的拜访中不会有什么压力。
    感谢我的亲家,Stephanie
    和George,感谢你们激励的话语,还有偶尔(不,应该是经常)帮助我们照看小孩,使Angi和我有更多自己的时间。
    感谢我的那些开发伙伴:Van、Marianna、Tonji和Jerry,让我从你们那里得到很多意见。有时我的脑子转得太快,你们的提醒让我能归回原位。
    感谢我的朋友和邻居:Dave、Javier、Alex、Scott和James。感谢你们经常提供这么多笑料,让我常常合不拢嘴。
    感谢在CVSDude的朋友。非常酷的CVS主机名,CVS主机服务也想当棒。
    *后要感谢我的良师益友:Graig,教给我写书的秘诀。还有很多其他的人,你们的帮助使这次的出版变得更加顺利。
    关于本书
    Spring框架是以简化J2EE系统开发为目标而创建的。同样,《Spring in
    Action中文版》是以学习如何容易地使用Spring而写的。我们的目标不是详细地列出Spring的API,我们想通过来自现实生活的实际示例代码为J2EE开发人员展示Spring框架。
    因为Spring是模块化的框架,所以本书也是按这种方式来写的。我们知道不是所有的开发人员都需要这样,有些人想从头学习Spring,有的可能只是挑几个不同的话题,按照自己的需要来看。所以,本书既可以被刚开始学习Spring的读者当作学习工具,也可以被那些想深入了解某方面知识的读者用作参考指南。
    章节组织
    《Spring in
    Action中文版》分成三大部分和两个附录,每一部分专注于Spring框架的一个领域:核心层、中间层和Web层。每一部分既是建立在前一部分的基础上,同时也都是独立存在的,所以,读者不必从头开始就可以深入到各个话题。
    **部分向你展示了Spring框架的两个核心概念:反向控制(Inversion of
    Control,IoC)和面向切面编程[1](Aspect-Oriented
    Programming,AOP)。这使读者可以更好地理解Spring的基础原理,这些基础原理在本书各个章节都会用到。
    第1章向读者展示了IoC和AOP两个技术概念,以及Spring如何利用这两种技术使Java开发变得容易的,同时读者将了解到Spring和其他框架(如EJB、Struts和PicoContainer)的区别。
    第2章详细地介绍了如何利用IoC配置你的应用系统,读者将学到如何编写松耦合的组件,如何在Spring容器中利用XML来描述各个组件的属性,装配其依赖类。
    第3章向读者介绍了如何使用Spring的AOP来解耦交叉问题,如将**模块从使用它的模块中独立出来。本章也为第5章做了铺垫。在第5章中,读者将学习如何利用AOP来实现声明式事务管理。
    第二部分在第1章介绍的IoC和AOP基础之上,向读者展示了如何将这两个概念应用到应用系统的中间层。
    第4章覆盖了整个Spring的数据持久层,向读者介绍了Spring对JDBC的支持,这简化了和JDBC相关的开发,读者也会了解到Spring是如何与当前一些流行的ORM框架(如Hibernate、JDO、OJB和iBATIS等)集成的。
    第5章是第4章的延续,向读者展示了如何使用Spring事务管理来保证数据一致性。读者将看到Spring是如何在不使用EJB的情况下,利用AOP提供强大的声明式事务的。
    第6章展示了如何将你的系统中的对象发布成远程服务,以及如何透明地使用远程服务。介绍的远程技术包括RMI、Hessian/Burlap、EJB、Web
    Services以及Spring自己的HttpInvoker。
    第7章向读者展示了在Spring 中如何集成其他企业服务,读者将了解到使用Spring集成邮件服务, JMS甚至EJB都是那么的容易。
    第三部分走出中间层迈向显示层,在很多J2EE系统中叫做Web层。
    第8章介绍了Spring自己的MVC框架。读者将了解Spring如何透明的将Web参数绑定到业务对象中,同时又提供了数据验证和错误处理功能。你也将看到利用Spring的拦截器来添加新功能是多么的容易。
    第9章在Spring
    MVC的基础上,向读者展示了除了使用JSP外,如何使用其他模板技术(如Velocity和FreeMarker)实现显示层,同时你将看到如何利用Spring
    MVC动态产生二进制文件(如PDF和Excel文档)。
    第10章
    向读者介绍了如何把Spring与其他Web框架集成在一起。对于那些已经在其他框架投入了很大精力的用户来说,Spring提供了与其他Web框架(如Struts、Tapestry、JavaServer
    Faces和WebWork)集成的支持。
    *后,在第11章中,读者将了解到如何利用Acegi**系统为你的Web系统提供认证服务,你将了解到如何将Acegi和你的业务对象集成,以提供方法级别上的**控制。
    附录A向读者介绍如何开始自己的Spring应用系统,如何下载Spring以及如何编写Ant配置文件。
    附录B向读者介绍一些与Spring有关的其他开源框架。
    本书读者群
    《Spring in
    Action中文版》适合所有Java开发人员,特别是对企业级Java开发人员更有帮助。我们将循序渐进地指导你浏览贯穿本书的复杂示例。Spring的真正伟大之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏本书中的示例代码。
    由于Spring的绝大部分都是关于提供企业级服务,所以Spring和EJB之间存在很多相似的地方,任何的EJB开发经验都会有助于对这两个框架的比较。虽然本书不是专注于Web系统的,但也有一部分是针对这个话题的。事实上*后四章描述了Spring是如何为Web层开发提供支持的,如果你是一个Web开发人员,你会发现本书的*后一部分特别有用。
    编码规范和下载
    本书有大量的示例代码,它们都使用代码字体,如果我们要你特别注意某些示例,就会使用加黑代码字体。
    许多Spring的类名特别长,所以有时候我们需要使用换行号( )。
    本书中的示例代码不都是完整的,我们通常只显示类中我们关注的一两个方法。书中系统的完整源代码可以在出版社的网站http://www.manning.com/walls2或http://www.springinaction.com中得到。
    作者在线
    购买了《Spring in
    Action中文版》,读者就可以免费访问由Manning出版社提供的一个在线论坛,在这里你可以给本书写评论,问一些技术问题,得到作者或其他读者的帮助。要进入这个论坛,请打开浏览器访问www.manning.com/walls2,通过这个页面你能知道如何登录论坛,论坛能提供那些帮助以及论坛的行为规范。
    Manning对读者的许诺是为读者提供一个交流平台,在这里读者之间以及读者与作者之间可以进行有意的交流。不论进行多少次访问,作者的访问都是义务的,他们对论坛的贡献是自愿和免费的,所以,我们建议读者尽量向作者问一些有挑战性的问题,以免作者失去兴趣。
    只要本书还在出版,读者就可以访问作者在线论坛以及以前的讨论信息。
    关于书名
    In Action系列图书是为帮助学习和记忆而设计的。根据认知科学的研究,人们能记住的东西往往是都是他们自主发现的东西。
    尽管在Manning里没有人是认知学家,但是我相信如果想让学到的知识保持长久,必须要经过探索、感兴趣的实践、将学到的东西重述等阶段。人们只有经过主动的探索才能理解并记住新知识。实践驱动是In
    Action系列图书的本质,它鼓励读者尝试,编写新代码,探索新想法。
    这本书的书名还有一个更实际的原因,那就是我们的读者都比较忙,他们使用本书来完成一个任务或解决一个问题,他们希望能在需要的时候从本书中快速找到他们需要的东西,他们需要这本书在实际中帮助他们,所有本系列的图书都是为这样的读者而设计的。
    关于封面插图
    本书的封面是“一个伟大的绅士军官”,这幅图选自Collection of Costumes of the Ottoman
    Empire,这本图册是住在伦敦Old Bond大街的William
    Miller于1802年1月1日出版的。因为无法找到这部集子的首页,所以我们很难查到具体的日期。这本书的目录用法语和英语标明了所有的人物,每幅图都有两位创作者的名字,毫无疑问,如果他们发现自己的艺术竟然在两百年后能为一本计算机编程图书的封面增色不少,肯定会惊叹不已。
    Manning出版社的一个编辑在曼哈顿West 26th
    Street的一个车库里的古玩跳蚤市场买了这部册子。卖主是一个住在土尔其安卡拉的美国人,在他要收摊的时候成交了这笔买卖,这位Manning的编辑身上没有足够的现金,而他的信用卡和支票也被委婉拒绝。
    卖主当天晚上要飞回安卡拉,使得这笔买卖似乎陷于无望,到底怎么解决的呢?只是一个古老的口头协议和握手。卖主提议通过电报付款,编辑手里拿着写有银行信息的纸条走了出来,腋下夹着那套图册,不用说,第二天,我们就把钱汇了出去。时至**,我们依然对那位不知名的卖主对于我们同仁的信任而感激万分、印象深刻。这使我们回忆起很多古道热肠的事情。
    像其他出现在我们封面上的插图一样,这些奥特曼图集里的图画成功地再现了两个世纪前服装的绚丽多彩,它们让我们想起了那个遥远时代的超然的美,还有其他历史时期——除了我们多动烦躁的现代社会。
    从那以后,服装风格发生改变,当时富于浓郁地方特色的多样性已经逐渐淡化,现在,我们经常很难说出一个洲的居民和其他洲的居民有什么不同。也许,用乐观的角度来看,可以说我们用文化与视觉的多样性换来了更为多变的个人生活,或更加有趣的知识科技生活。
    这些计算机图书的封面反映了两个世纪前地方生活的丰富多彩,而这部图集里的图片则为那灿烂的过去赋予了新的生命。Manning出版社的全体成员对这一新颖有趣的创意表示热烈祝贺。
    目录
    **部分 Spring基础
    第1章 开始Spring之旅
    1.1 为什么使用Spring
    1.1.1 J2EE***的**
    1.1.2 Spring的承诺
    1.2 Spring是什么
    1.3 开始Spring之旅
    1.4 理解反向控制
    1.4.1 依赖注入
    1.4.2 IoC应用
    1.4.3 企业级应用中的IoC
    1.5 应用AOP
    1.5.1 AOP介绍
    1.5.2 AOP使用
    1.5.3 企业级应用中的AOP
    1.6 Spring比较
    1.6.1 比较Spring和EJB
    1.6.2 关于其他轻量级容器
    1.6.3 Web框架
    1.6.4 持久层框架
    1.7 小结
    第2章 装配Bean
    2.1 容纳你的Bean
    2.1.1 BeanFactory介绍
    2.1.2 使用应用上下文
    2.1.3 Bean的生命
    2.2 基本装配
    2.2.1 使用XML装配
    2.2.2 添加一个Bean
    2.2.3 通过Set方法注入依赖
    2.2.4 通过构造函数注入依赖
    2.3 自动装配
    2.3.1 处理自动装配中的不确定性
    2.3.2 混合使用自动和手动装配
    2.3.3 缺省自动装配
    2.3.4 何时采用自动装配
    2.4 使用Spring的特殊Bean
    2.4.1 对Bean进行后处理
    2.4.2 对Bean工厂进行后处理
    2.4.3 分散配置
    2.4.4 定制属性编辑器
    2.4.5 解析文本信息
    2.4.6 监听事件
    2.4.7 发布事件
    2.4.8 感知其他Bean
    2.5 小结
    第3章 创建切面
    3.1 AOP介绍
    3.1.1 定义AOP术语
    3.1.2 Spring的AOP实现
    3.2 创建通知
    3.2.1 前置通知
    3.2.2 后置通知
    3.2.3 环绕通知
    3.2.4 异常通知
    3.2.5 引入通知
    3.3 定义切入点
    3.3.1 在Spring中定义切入点
    3.3.2 理解Advisor
    3.3.3 使用Spring的静态切入点
    3.3.4 使用动态切入点
    3.3.5 切入点实施
    3.4 创建引入
    3.4.1 实现IntroductionInterceptor
    3.4.2 创建一个引入Advisor
    3.4.3 谨慎使用引入通知
    3.5 使用ProxyFactoryBean
    3.6 自动代理
    3.6.1 BeanNameAutoProxyCreator
    3.6.2 DefaultAdvisorAutoProxyCreator
    3.6.3 元数据自动代理
    3.7 小结
    第二部分 Spring在业务层的应用
    第4章 征服数据库
    4.1 学习Spring的DAO理念
    4.1.1 理解Spring的DataAccessException
    4.1.2 与DataSource一起工作
    4.1.3 一致的DAO支持
    4.2 在Spring中使用JDBC
    4.2.1 JDBC代码的问题
    4.2.2 使用JdbcTemplate
    4.2.3 把操作创建成对象
    4.2.4 自增键
    4.3 介绍Spring的ORM框架支持
    4.4 用Spring整合Hibernate
    4.4.1 Hibernate概览
    4.4.2 管理Hibernate资源
    4.4.3 用HibernateTemplate访问Hibernate
    4.4.4 HibernateDaoSupport的子类
    4.5 Spring和JDO
    4.5.1 配置JDO
    4.5.2 用JdoTemplate访问数据库
    4.6 Spring和iBATIS
    4.6.1 配置SQL Map
    4.6.2 使用SqlMapClientTemplate
    4.7 Spring和OJB
    4.8 小结
    第5章 事务管理
    5.1 理解事务
    5.1.1 仅用4个词解释事务
    5.1.2 理解Spring对事务管理的支持
    5.1.3 介绍Spring的事务管理器
    5.2 在Spring中编写事务
    5.3 声明式事务
    5.3.1 理解事务属性
    5.3.2 声明一个简单的事务策略
    5.4 通过方法名声明事务
    5.4.1 使用NameMatchTransactionAttributeSource
    5.4.2 名称匹配事务的捷径
    5.5 用元数据声明事务
    5.5.1 用元数据来书写事务属性
    5.5.2 用Commons Attributes声明事务
    5.6 修剪事务声明
    5.6.1 从父TransactionProxyFactoryBean继承
    5.6.2 自动代理事务
    5.7 小结
    第6章 远程调用
    6.1 Spring远程调用概览
    6.2 与RMI一起工作
    6.2.1 连接RMI服务
    6.2.2 输出RMI服务
    6.3 使用Hessian和Burlap的远程调用
    6.3.1 访问Hessian/Burlap服务
    6.3.2 用Hessian或Burlap公开Bean的功能
    6.4 使用HTTP invoker
    6.4.1 通过HTTP访问服务
    6.4.2 把Bean作为HTTP服务公开
    6.5 使用EJB
    6.5.1 访问EJB
    6.5.2 用Spring开发EJB
    6.6 使用JAX-RPC的Web Service
    6.6.1 用JAX-RPC应用一个Web Service
    6.6.2 在Spring里置入一个Web Service
    6.7 小结
    第7章 访问企业服务
    7.1 从JNDI中获取对象
    7.1.1 使用传统的JNDI
    7.1.2 代理JNDI对象
    7.2 发送电子邮件
    7.3 调度任务
    7.3.1 使用Java Timer调度任务
    7.3.2 使用Quartz调度器
    7.3.3 按调度计划调用方法
    7.4 使用JMS发送消息
    7.4.1 使用JMS模板发送消息
    7.4.2 消费消息
    7.4.3 转换消息
    7.5 小结
    第三部分 Spring在Web层的应用
    第8章 建立Web层
    8.1 开始Spring MVC之旅
    8.1.1 请求生命中的**
    8.1.2 配置DispatcherServlet
    8.1.3 Spring MVC概述
    8.2 将请求映射到控制器
    8.2.1 将URL映射到Bean名称
    8.2.2 使用SimpleUrlHandlerMapping
    8.2.3 使用元数据映射控制器
    8.2.4 使用多映射处理器
    8.3 用控制器处理请求
    8.3.1 编写一个简单的控制器
    8.3.2 处理命令
    8.3.3 处理表单提交
    8.3.4 用向导处理复杂表单
    8.3.5 在一个控制器中处理多个动作
    8.3.6 使用一次性控制器
    8.4 视图解析
    8.4.1 使用模板视图
    8.4.2 解析视图Bean
    8.4.3 选择视图解析器
    8.5 使用Spring的绑定标签
    8.6 处理异常
    8.7 小结
    第9章 其他视图技术
    9.1 使用Velocity模板
    9.1.1 定义Velocity视图
    9.1.2 配置Velocity引擎
    9.1.3 解析Velocity视图
    9.1.4 格式化日期和数字
    9.1.5 暴露请求和会话属性
    9.1.6 在Velocity中绑定表单域
    9.2 使用FreeMarker
    9.2.1 构造一个FreeMarker视图
    9.2.2 配置FreeMarker引擎
    9.2.3 解析FreeMarker视图
    9.2.4 在FreeMarker中绑定表单域
    9.3 使用Tile设计页面布局
    9.3.1 Tile视图
    9.3.2 Tile控制器
    9.4 产生非HTML输出
    9.4.1 产生Excel工作表
    9.4.2 产生PDF文档
    9.4.3 产生其他非HTML文件
    9.5 小结
    第10章 使用其他Web框架
    10.1 使用Jakarta Struts
    10.1.1 注册Spring插件
    10.1.2 实现知晓Spring的Struts action
    10.1.3 委托action
    10.2 使用Tapestry
    10.2.1 替换Tapestry引擎
    10.2.2 装载Spring Bean至Tapestry页面中
    10.3 集成JavaServer Faces
    10.3.1 解析变量
    10.3.2 发布请求已处理事件
    10.4 集成WebWork
    10.4.1 WebWork1
    10.4.2 XWork/WebWork2
    10.5 小结
    第11章 保护Spring 应用程序
    11.1 Acegi**系统介绍
    11.1.1 **拦截器
    11.1.2 认证管理器
    11.1.3 访问决策管理器
    11.1.4 运行身份管理器
    11.2 管理身份验证
    11.2.1 配置ProviderManager
    11.2.2 根据数据库验证身份
    11.2.3 根据LDAP仓库进行身份验证
    11.2.4 基于Acegi和Yale CAS实现单次登录
    11.3 控制访问
    11.3.1 访问决策投票
    11.3.2 决定如何投票
    11.3.3 处理投票弃权
    11.4 保护Web应用程序
    11.4.1 代理Acegi的过滤器
    11.4.2 强制Web**性
    11.4.3 处理登录
    11.4.4 设置一个**上下文
    11.4.5 确保通道**性
    11.4.6 使用Acegi的标签库
    11.5 保护方法调用
    11.5.1 创建一个**切面
    11.5.2 使用元数据保护方法
    11.6 小结
    附录A 装配Spri
    A.1 下载Spring
    A.2 选择一种JAR文件
    A.3 搭建你的项目
    A.4 利用Ant创建
    附录B Spring相关项目
    B.1 AppFuse
    B.2 Rich Client Project
    B.3 Spring.NET
    编辑推荐语
    Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础,无需EJB而功能依然强大的轻量级J2EE开发框架。Spring大大简化了使用接口开发的复杂性,并且加快和简化了应用系统的开发。使用简单JavaBean就可以得到EJB的强大功能。
    本书介绍了Spring背后的原理,**你迅速进入对框架的体验之中。结合简短代码片断和贯穿全书的持续示例,本书向你展示了如何创建简单有效的J2EE应用系统。你将看到如何使用先进的开源工具解决持久层问题,以及如何将你的应用系统与其他流行Web框架集成。你将学习如何使用Spring管理大量的基础设施代码,这样你就可以将注意力集中在真正的问题上——重要的业务需要。
    本书内容:
    ·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层;
    ·声明式事务与事务管理;
    ·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity;
    ·访问J2EE服务,如JMS和EJB;
    ·使用AOP解决交叉问题;
    ·企业组应用系统*佳实践。
    “……一种解释Spring中各个主题的很好途径……我喜欢这本书”
    ——Christian Parker,Adigio公司总裁
    “……没有其他书籍可以与这本书的实用性相提并论。”
    ——Olivier Jolly,J2EE构架师,Interface SI
    “我很喜欢这种展示Spring的方式。”
    ——Norman Richards,XDoclet in Action的作者之一
    “我极力**这本书。”
    ——Jack Herrington,Code Generation in Action的作者

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外