领先一步
VMware 提供培训和认证,助您加速进步。
了解更多今年的 EclipseCon 是我们公司首次参加。我们进行了不少演讲,都受到了好评,并且宣布了 SpringSource Tool Suite 的 beta 计划。总的来说,我们都度过了一段非常愉快的时光,并从 Eclipse 社区获得了关于 Spring Portfolio 中项目的大量反馈,尤其是在 Web 领域的进展。我将在未来几周内确保将所有反馈转发给项目负责人。鉴于 EclipseCon 今天即将结束,我终于有时间坐下来写下我们在会议上介绍的内容。
周一,在我们进行 BoF 会议期间,我们发布了 SpringSource Tool Suite (STS) 的个人使用版本,我花了很多时间与人们交流和通信,讨论它带来的额外价值。在这篇博客中,我将更详细地概述 SpringSource Tool Suite 的功能。首先,我听过不少次人们认为 SpringSource Tool Suite 的发布意味着我们将停止改进和塑造 Spring IDE。请允许我澄清一点,情况绝非如此;事实恰恰相反,看看 Spring IDE 的 JIRA 和 Subversion 仓库就已经很明显了。实际上,自从我一月份加入 SpringSource 以来,我得以在并行开发工具套件的同时,增加投入到 Spring IDE 的时间。
SpringSource Tool Suite 的目标是为您提供基于 Eclipse 平台、使用 Spring Portfolio 进行企业级开发的最先进的开发工具——这听起来像是营销术语,但这是工具团队所承诺的使命宣言。STS 确实建立在成熟的 Spring IDE 之上,但它与 Eclipse Mylyn 深度集成,并且已经扩展了这两个开源工具,将企业级扩展带入您的 IDE。为了提供最好的 Spring 工具,我们已经开始并将继续向 Spring 核心框架和其他 Spring 项目中添加与工具相关的功能、钩子和扩展点。
因此,借助此工具套件,您终于可以获得 Mylyn 的任务焦点用户界面在进行 Spring 开发方面的所有好处。在处理 Spring 应用程序蓝图时,您可以获得上下文管理和焦点。此外,我们将任务焦点 UI 方法提升到了一个新的水平,并引入了一项我们称之为任务焦点教程的新技术。任务焦点教程扩展了 Eclipse 的 Cheat Sheet 框架,并为教程的每个步骤添加了任务焦点。通过任务焦点教程,用户——无论是刚接触 Spring 的新手,还是想要学习特定功能或 Spring 项目的人——只需单击一下即可导入一个运行中的示例应用程序,并开始探索示例。每个教程步骤将提供对教程某个特定方面的解释,并只显示与理解和探索该解释相关的 Java 和 Spring 元素。
从上面的截图可以看到在 Eclipse 中它是什么样子。教程将 PetClinic 示例应用程序导入到 Eclipse 工作区,并将工作区聚焦,仅显示 @Autowired 注解及其如何应用于应用程序组件。右侧可以看到展开的步骤,解释了何时以及为何应该使用 @Autowired 注解。在教程的最后,用户只需单击一下即可在捆绑的 Tomcat 服务器上启动示例应用程序,该服务器会自动安装和配置。
我们认为这种介绍新功能和产品的方式是一个非常强大的方法,让人们可以轻松探索 Spring Portfolio。开发者入门时需要拥有和了解的一切都应放在恰当的位置:IDE 内部。当您下载个人使用测试版时,您将立即获得大约 20 个教程,这些教程均由项目负责人或直接与客户合作的经验丰富的顾问创建。最值得一提的是,Adrian Colyer 花时间创建了 7 个介绍 OSGi 概念、Equinox 和 Spring Dynamic Modules 的教程。如果您现在想搭上 OSGi 这趟快车,这些教程非常棒。该工具套件包含一个自动 OSGi bundle 更新/刷新机制,最终使得开发应用程序并在 OSGi 运行时的强大能力基础上获得即时重新部署的语义成为可能(您用 EJB 试过这个吗?我试过)。
我想谈论的下一个功能称为运行时错误分析:SpringSource Tool Suite 能够通过分析 Java 堆栈跟踪来提供如何解决运行时问题的信息。为了实现这一点,我们创建了一个集成到该套件中的在线知识库,该知识库可以直接在 Eclipse IDE 中进行查询。该知识库对所有使用该工具的人开放,我们甚至鼓励人们使用内置的富编辑功能贡献自己的分析。请看下面的截图。
使用此工具套件,您不仅可以获得运行时错误分析的支持,该工具还将帮助您发现常见陷阱和违反 Spring 最佳实践的地方。特别是在处理 XML bean 定义文件时,此功能会非常方便,因为它会在 XML 编辑器内部直接通知开发人员,文件中可能存在需要修改的内容。例如,在某些情况下,该工具会检测并推荐使用 bean 继承。它还会推荐使用不断改进的命名空间元素,而不是使用传统的 bean 定义样式。以下是一个示例
那么让我们看看我们有什么
我还有更多没有涉及的功能。你看到这组功能列表中的主要主题了吗?最后列出的三个功能为开发强大的基于 Spring 的应用程序提供了宝贵的帮助。在内部,我们开始为这组功能使用一个比喻:盒子里的顾问。通过 SpringSource Tool Suite,我们希望提供对 SpringSource 知识的访问,就像有一位顾问坐在您旁边一样!
我想鼓励大家前往测试版注册页面试用 Tool Suite。最后,我还要感谢所有已经提交反馈、问题和建议的人。在 EclipseCon 忙碌的一周结束后,我会尽快回复大家。