领先一步
VMware 提供培训和认证,助您加速进步。
了解更多为了庆祝 i21 团队博客的推出,我借此机会介绍一本即将出版的 Spring 新书。书名为《Spring 2 初学者指南:从新手到专业人士》,由 Apress 出版。我与 Mark Fisher (i21)、Bram Smeets (DWR 名人) 和 Seth Ladd (《专家 Spring MVC 和 Web Flow》名人) 合著了这本书。Rob Harrop 担任技术审阅。
正如您可能已经猜到的,本书的目标读者是 Spring Framework 的初学者。有趣的是,在 Spring 中,您总会在某些领域处于初学者的地位。该框架提供了如此多的功能和集成,您不可能全部了解(当然,Juergen 除外)。
因此,我们没有对“初学者”一词做过于严格的定义。当然,本书确实会向在书店拿起本书并且之前从未听说过 Spring 的人介绍 Spring Framework。另外,一个初学的 Spring 用户通常也不是一个初学的 Java 开发者。而且,由于本书还涵盖了大量新的 Spring 2.0 功能,几乎所有 Spring 用户——当然还有 Ben Hale——都会觉得至少有几章内容很有趣。
我们采用了解决问题和提供实用建议的方法。在每一章中,我们都会阐述开发者在该主题领域通常面临的挑战,并举例讨论一些常见的陷阱。然后,我们介绍 Spring 的解决方案以及读者如何通过在应用程序中使用这些解决方案来获益。我们发现,先阐述问题,再讨论 Spring 解决方案,这样更容易理解 Spring 的思想并欣赏其解决方案。
因此,我相信本书对于那些已经使用 Spring 一段时间并在项目中使用过但从未真正有机会退一步思考解决方案背后的问题的人会很有吸引力。
以下是各章的概述
第 1 章是现代应用程序开发的介绍。它概述了配置的挑战以及将架构限制在狭窄编程模型的危险。它介绍了依赖查找和依赖注入等概念,并将 Spring 置于 JEE 技术的大背景下。它介绍了框架的核心价值:集成、改进、增加一致性、易于使用、文档和提高标准。
第 2 章介绍了 Spring 容器及其 XML 配置文件。这是一个非常广泛的介绍,展示了 Spring 用户可用的灵活性。例如,FactoryBean 和工厂方法的用法得到了详细介绍,因为它可以为应用程序增加很多灵活性。bean 生命周期也得到了介绍,因为在 Spring 2.0 的背景下,理解这个可扩展点变得越来越重要。
第 3 章涵盖了*经典的* Spring AOP 框架。我们发现,如果不对读者温和地介绍核心 AOP 概念,我们就无法涵盖新的 Spring 2.0 功能:什么是问题,什么是 AOP,它如何解决问题?什么是 Advice,有哪些不同类型?什么是代理对象,如何配置其创建?什么是 Join Point 和 Pointcut。最后,本章展示了一些 Spring 内部使用 AOP 的示例?本章基于 Spring 1.2,为下一章奠定了基础。
第 4 章可能是我——我相信也是 Ben——最喜欢的一章,因为它涵盖了 Spring AOP 2.0。Adrian 在 Spring 2.0 参考手册中写了一篇出色的章节,介绍了新的 AOP 功能。本章则更加循序渐进。它基于第 3 章中的 AOP 概念,介绍了 Aspect 和 AspectJ Pointcut 语言。它基于 @AspectJ 风格,但也涵盖了在 XML 中声明 Aspect 和 Advisor。它还介绍了自动代理创建,这是 Spring 2.0 的一个关键功能,尽管它在 Spring 1.x 中已经可用。本章是所有 Spring 用户必读的内容。
本书的最后是第 2、3 和 4 章的练习,它们提供了额外的背景知识,并帮助读者获得 Spring 的实践经验。
第 5 章是数据访问的介绍。当我最初写这一章时,它非常简短,介绍了 Spring 的数据访问框架。然后我意识到,让用户更好地理解数据访问的挑战会很有趣。所以我重写了这一章,现在其中一半涵盖了典型的数据访问问题:管理数据库资源、数据访问异常问题、事务管理问题以及数据访问对应用程序的整体影响。然后,它介绍了 Spring 如何解决这些各种问题,以及如何在应用程序中找到数据访问的合适位置。
第 6 章介绍了如何在应用程序中使用 JdbcTemplate 通过 SQL 在数据库中插入、更新、选择和删除数据。
第 7 章是关于在应用程序中使用 Spring 事务管理的实践介绍。它还涵盖了 Spring 2.0 中简单的事务管理配置。您知道 Spring 2.0 提供了 6 种(!)配置事务管理的方式吗?说到灵活性。
第 8 章是 Spring MVC 的实践介绍。它概述了一个典型的 Web 层,然后介绍了 Spring MVC 的组件。它有三个示例,从分页只读列表到复杂表单处理。对于希望更多地了解 Spring MVC 的现有 Spring 用户来说,这是一个很棒的章节。它还涵盖了 Spring 2.0 的 JSP 表单标签。
第 9 章是实践性的,涵盖了 Spring MVC 支持的一些视图技术,如 JSTL、Velocity、Freemarker、XSLT、PDF、Excel 和 JasperReports。
最后,第 10 章涵盖了测试。它强调了测试的重要性,以及 JUnit、EasyMock 和 Spring 类在编写集成测试(有些人称之为功能测试)中的作用。
在本书中,我们使用了一个示例应用程序,该应用程序处理管理网球俱乐部和网球比赛的许多方面。我们认为,如果读者以及更广泛的 Spring 受众都能访问一个相当复杂的示例应用程序,那将是很棒的。这为我们分享关于 Spring 如何融入实际应用程序的想法提供了一个很好的途径。我们仍在努力完成这个示例应用程序,但我可以告诉您,它将包含大量关于我们选择的设计和配置的额外阅读材料。
您会注意到本书没有涵盖 Hibernate。我们觉得从头开始*并且*如何与 Spring 一起使用 Hibernate 来正确解释 Hibernate 会太难。最终,我们改变了主意,认为如果有一些 Hibernate 材料供读者阅读会很好。因此,将提供一个在线的奖励附录,介绍 Hibernate 的基本思想以及 Spring 如何促进其使用。对于那些还没有接触过对象关系映射工具的人来说,这是一个起点。
那么,本书何时可用?按照目前的计划,本书将于 10 月底上市。您可以从现在开始预订。我们希望 Spring 用户会喜欢这本书。在接下来的几周里,我会随时向您更新我们的进展。