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