今年的 EclipseCon 是我们公司首次参加。我们做了不少演讲,都受到了好评,并且我们宣布了 Beta 版程序,用于 SpringSource Tool Suite。总的来说,我们都度过了非常愉快的时光,并从 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 平台上进行企业开发所使用的 **最先进的开发工具** ——这听起来像营销术语,但这就是工具团队致力于实现的使命。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 内部。当您下载个人使用版 Beta 版时,您将立即获得大约 20 个教程的访问权限,这些教程都由项目负责人或直接与客户合作的经验丰富的顾问创建。最值得注意的是 Adrian Colyer 花时间创建了 7 个教程,介绍了 OSGi 概念、Equinox 和 Spring Dynamic Modules。如果您想立即加入 OSGi 的行列,这些教程真的非常酷。该工具套件包含一个自动化的 OSGi 包更新/刷新机制,该机制最终允许在应用程序上工作并基于 OSGi 运行时的强大功能获得即时重新部署语义(您尝试过用 EJBs 做这个吗?我试过)。
我想谈论的下一个功能是 **运行时错误分析**:SpringSource Tool Suite 能够通过分析 Java 堆栈跟踪来提供解决运行时问题的指导。为了实现这一点,我们创建了一个在线知识库,该知识库已集成到套件中,并且直接在 Eclipse IDE 中进行查询。该知识库对使用该工具的任何人开放,我们甚至鼓励人们使用内置的丰富编辑功能贡献自己的分析。请看下面的截图。
通过工具套件,您不仅可以获得分析运行时错误的支持,该工具还将帮助您 **查找常见陷阱** 和 **Spring 最佳实践违规**。尤其是在处理 XML Bean 定义文件时,此功能非常有用,因为它会在 XML 编辑器中直接告知开发人员文件中有一些他/她可能想要修改的内容。例如,该工具将在某些情况下检测并建议使用 Bean 继承。它还将建议使用不断改进的命名空间元素,而不是使用传统的样式 Bean 定义。这是一个例子
那么,让我们来看看我们得到了什么
- Spring 开发工具
- Mylyn 的任务导向用户界面,适用于 Java、资源和 Spring 应用程序蓝图
- 任务导向教程
- 运行时错误分析
- 最佳实践和架构审查工具
还有一些我没有提到的功能。您是否看到了这个功能列表中的主要主题?最后三个列出的功能为开发强大的 Spring 应用程序提供了无价的帮助。在内部,我们开始为此功能集使用一个比喻:盒子里的顾问。通过 SpringSource Tool Suite,我们希望提供对 SpringSource 知识的访问,就像您身边坐着一位顾问一样!
我鼓励大家前往 Beta 注册页面 并尝试一下这个工具套件。最后,我也想感谢所有已经提交反馈、问题和建议的人。EclipseCon 结束后,我会尽快回复你们所有人。