使用 SpringSource Tool Suite 2.3.3.M1 与 Roo 和 GWT
什么是面向插件的架构?
Grails 是一个用于快速轻松地开发 Web 应用程序的绝佳框架。您还可以访问大量提供功能或使与其他系统集成变得轻松的插件。这一切都很好,但在本文中,我想讨论当您的应用程序增长并开始淹没在控制器、域类和其他文件中时会发生什么。
关注点分离
软件架构中最有用的模式之一称为关注点分离。其思想是将与特定功能或关注点相关的所有内容分组到一个独立的单元中。该单元中的代码不应承担任何其他职责。例如,Web 服务的业务逻辑应该在一个类中,而 SOAP 消息的处理应该在另一个类中:业务逻辑和 SOAP 处理是两个不同的关注点。此模式的真正优点在于您可以将这些单元聚合到更粗粒度的关注点中,因此您最终会在多个级别上使用此模式。例如,假设上面提到的 Web 服务……
SpringSource dm Server 2.0.2 今天发布。
此版本修复了一些错误,发布说明可从JIRA获取。此版本可从 SpringSource.org 上的项目页面下载。
- 内核启动硬超时限制已增加,以允许 dm Server 在速度较慢的机器上运行。
- 记录了 OSGi Web 容器中的限制,不支持 Tomcat <context> 元素。
- 修复了 ServiceScoper 类以关闭所有输入流。
- 添加了支持以偶尔容忍 File.list 返回 null,这表现为拾取目录偶尔会自行清除,似乎没有任何原因。
- 现在可以使用 @Configurable 与 ServerOsgiBundleXmlWebApplicationContext。
该项目正在捐赠给 Eclipse 基金会作为 Virgo。我们计划适时发布 Virgo 的基线版本,该版本在功能上等同于 dm Server 2.0。有关更多信息,请参阅 Virgo 的网站。除了 dm Server 之外,SpringSource 还将为 Virgo 提供商业支持。
Spring Insight 1.0.0.M3 发布
Spring Insight 团队自豪地宣布发布Spring Insight 1.0.0.M3。此版本包含大量新的增强功能,可为您提供更高的生产力,并使您的应用程序更快地投入生产。Spring Insight 可作为tc Server Developer Edition和SpringSource Tool Suite的一部分使用,但您可以在http://springsource.org/insight获取新的开发者版本。设置时间通常需要 10 秒。
Speed Tracer
最受关注的新功能是我们与 Google Speed Tracer的集成,该功能在上周的Google IO 大会上宣布。这种创新的组合使开发人员能够全面了解 Web 请求中执行的所有工作——从 CSS 样式和视图渲染到 JDBC 查询和 JSP 渲染时间。与 Google 的工程师合作开发这项技术的尖端应用确实令人兴奋。您会喜欢这个功能!这是一个无缝集成,使用起来非常简单,并为您提供了前所未有的可见性。更简单的 UI
我们还在应用程序中添加了许多信息:吞吐量和错误率指标、健康区域、对 Spring 控制器的更深入可见性、更深入的 JDBC 支持、应用程序健康状况等等。但是,这些新信息不应让人不知所措,因为我们还投入了大量时间来提高简单性,使我们的 UI 变得清晰易于导航。开发工具包
最后,我们发布了Insight 开发工具包(IDK)。我们从许多用户那里了解到,他们希望能够在 Insight 中自定义他们的应用程序或添加其他指标。Insight 现在通过其 @InsightOperation 和 @InsightEndPoint 注解以及 IDK 和创建更深入插件的教程提供了此功能。IDK 包括 Insight 附带的所有插件的源代码(Apache 2.0 许可)以及 IDK API——编写您自己的应用程序的绝佳示例和说明。Spring Insight 团队正在加紧开发下一个版本,我们的列车正在沿着轨道前进,我们迫不及待地想听取您的反馈和建议。请从http://springsource.org/insight获取版本,并在社区论坛中留下您的评论……
Spring Python 1.1 书籍已出版
Spring Python 1.1 书籍已出版!Spring Python 采用Spring Framework和Spring Security的概念,并将其应用于Python的世界。
在这本书中,您将使用依赖注入、面向方面编程、数据访问、事务管理、远程调用和安全编写代码。在第一个案例研究中,您将构建一个银行 Web 应用程序,并了解如何协同使用所有这些组件来快速满足您的需求。在第二个案例研究中,您将在构建航班预订系统时将 Python 和 Java 集成在一起。
本书充满了代码……
更多 Grails 1.3 功能
上周,我描述了Grails 如何将插件视为可以从与 Maven 兼容的存储库中提取的普通依赖项。虽然这是 1.3 的主要新功能,但它并不是唯一的功能。在这篇文章中,我将介绍其中的一些其他功能,首先介绍一个我最近才发现的功能。
命名查询
GORM 提供了三种不同的执行数据库查询的方式- 动态查找器,例如 Book.findByTitleAndAuthorLike(...);
- 标准查询,使用漂亮的 DSL;以及
- HQL,Hibernate 的类似 SQL 的查询语言。
开发一个非平凡的 Grails 应用程序,您很快就会意识到您经常一遍又一遍地使用相同的查询。您应该怎么做?复制粘贴技术很简单,但会给您带来重大的维护问题。您可以为每个常见的……编写服务方法。
Spring Roo 1.1.0.M1 发布
我很高兴地宣布,我们刚刚发布了Spring Roo 1.1.0.M1。Spring Roo 是 Java 开发人员使用 Java 编程语言构建基于 Spring 的应用程序的最快方法。使用 Roo 1.1.0.M1,您可以在短短 200 个按键内构建完整的 Web 应用程序——包括Google Web Toolkit(GWT)前端!此外,像往常一样,我们同时发布了SpringSource Tool Suite(STS 2.3.3.M1)的新版本,该版本针对最新最好的 Roo 功能进行了优化!
自三个月前的 1.0.2 版本以来,有超过200 个修复、增强和新功能。一些……
迈向开放 PaaS
几周前,我在 Twitter 上发推文说——令人难以置信的是——SpringSource 在 VMware 中的执行速度比作为初创公司时更快。今天,我们宣布了另一个令人兴奋的发展,证明了这一点。
继我们与 SaaS 领导者 salesforce.com 建立的 VMforce 合作关系之后,我们今天宣布 VMware 和 Google 之间的合作,重点围绕 Spring 编程模型以及 SpringSource IDE 和 RAD 工具。今天的公告使 Spring 成为Google App Engine的首选编程模型。这是对 Spring 作为 Java 最佳和最可移植编程模型的巨大认可,并为 Spring 开发人员开辟了新的部署机会。今天在Google I/O主题演讲中的演示展示了 SpringSource 和 Google 工程师数月合作的结果——其中大部分有利于 Spring 开发人员,无论他们希望在哪里……
使用 Grails 1.3 管理插件
长期以来,管理 Grails 依赖项仅仅意味着将它们放在应用程序的lib目录中。然后是 Grails 1.2 和依赖项 DSL:您终于可以声明您的依赖项,并让 Grails 自动下载它们并使它们可用于您的应用程序。太棒了!
现在,Grails 1.3 已将依赖项 DSL 引入插件领域。
所以呢?
到目前为止,用户经常面临插件系统中的两个问题- 建立一个合适的 Subversion 服务器来充当 Grails 插件仓库并不简单;并且
- 你无法控制插件引入应用程序的依赖项。
至于依赖项,一些插件包含你不需要的库,或者(更糟糕的是)破坏你的应用程序。使用依赖项 DSL,你可以显式地排除有问题的库。
这些都是此次更改可能…的原因之一。