Spring Roo 1.1.0.M3 发布

工程 | Ben Alex | 2010年8月25日 | ...

更新: SpringSource Tool Suite 3.5.0.M3 现已可供下载。它包含了最新的 Spring Roo 1.1.0.M3 和 GWT 2.1.0.M3 支持。

社区的许多成员一直在热切期盼 Spring Roo 1.1.0.M3,我很高兴地宣布它现已发布(在此下载)。自 Milestone 2 以来,此版本整合了 超过 150 项 新功能、增强功能和其他改进,使 1.1.0 里程碑系列的总问题数达到约 500 个。Spring Roo 1.1.0.M3 中的许多改进反映了我们与 Spring Framework、Google Web Toolkit、AspectJ 和 SpringSource Tool Suite 团队持续紧密的合作,您可以在一些主要的新功能中看到成果
  • 增量数据库逆向工程(或在办公室亲切地称为 DBRE):这是 Spring Roo 项目历史上 投票数最高 Jira 议题,代表着大约 130 张单独的投票。这项新功能可以内省现有关系型数据库并发出系列 JPA 实体。然而,与传统的数据库逆向工程工具不同,DBRE 可以在同一项目上重复运行而不会产生不必要的副作用(因此功能名称中使用了“增量”一词)。内省产生的所有成员都存储在 AspectJ ITD 中,这与 Roo 的其他部分保持一致。这使得您的 .java 文件干净整洁并清晰地表达意图(正如它们应有的样子)。虽然内省目前运行良好(即使对于复合主键和所有基数类型等复杂情况),并允许您以普通 Java 风格程序化地使用结果实体,但在 Roo 1.1.0.M4 中,我们将为内省的数据库添加 Web 层支持。
  • 最新的 Google Web Toolkit 2.1.0.M3 功能: 我们与 GWT 的 合作 使 Roo 能够生成使用 GWT 2.1.0.M3(也于今天发布)最新功能的应用程序。最受期待的新功能之一是 RequestFactory 基础设施下的关系支持。您可以通过使用“script expenses.roo”命令,然后“mvn gwt:run”,并通过 GWT UI 创建相关的 employee 对象来尝试此功能。您可以在 GWT 博客文章 中阅读更多关于新的 GWT 2.1.0.M3 功能的信息。
  • 自动 JSON 支持,包括在 Spring MVC 应用中: Spring Roo 生成的所有域对象现在都将包含自动的 JSON 相关 方法。这些方法允许您在 JSON 表示和对象之间进行双向转换。我们以正常的 Roo 风格通过 ITD 引入这些新的 JSON 相关方法。Roo 管理的 Spring MVC 控制器现在也自动使用这些方法。要查看此功能,请使用“script clinic.roo”,然后“mvn tomcat:run”,通过 web 用户界面 创建一个新的 Owner,然后尝试一个 curl 命令,例如 curl -v -H 'Accept: application/json' -X GET http://localhost:8080/petclinic/owners/
  • 16 个社交媒体嵌入功能: 现在只需一个 Roo 命令,就可以将来自 16 个社交媒体网站的内容添加到您的基于 Spring MVC 的前端!这包括 YouTube、Google Video、Vimeo、Viddler、Screenr、UStream、LiveStream、Flikr、Picasa、Google Presentations、Scribd、SlideShare、Google Maps、Google Wave、Twitter 和 Wikinvest。所有这些功能都可以通过新的 "web mvc embed" 命令获得。
  • 库升级: 我们已经更新了 Roo 在项目中自动使用的库。一些值得注意的更新包括切换到 Spring Framework 3.0.4(通过消除 URL 重写过滤器增强了资源服务)和 Spring Web Flow 2.1.1
  • 自动 Roo 注解 JAR 升级: 现在,当您升级到新版本的 Roo 时,无需编辑项目的 pom.xml 来更改 Roo 注解库版本。Roo 会自动为您 处理 这个问题。
  • 可用性增强: 我们现在添加了许多新功能来提高可用性。您可能会注意到的一点是屏幕顶部新的 "闪烁消息" 区域。它显示长时间运行操作的进度(您可以尝试“flash test”命令进行快速演示)。我们建议您使用 Linux、Windows 或 iTerm(对于 OSX 用户),以获得最佳的闪烁消息体验。其他一些不太明显的改进包括 更好的日志记录,支持 "#" 注释,"hint" 命令的 Tab 补全,AspectJ ITD 顶部的注释以 提醒您 不要编辑它们,以及许多其他改进。

一如既往,Spring Roo 参考指南包含已在使用 Roo 的用户的升级说明,以及供有兴趣了解更多信息的人员阅读的背景资料和入门教程。参考指南可以在线查看,此外也包含在下载 ZIP 中。您还可以通过未来几个月参加 SpringOneJavaOneDevoxxGoogle Developer DaysYOW!2010 来了解更多关于 Spring Roo 的信息。

Spring Roo 的下一个版本将是 1.1.0.M4。这将是该系列的最后一个里程碑,我们预计将在 2010 年 10 月中旬发布 1.1.0.RELEASE。我们维护了在 Jira 中的 完整路线图日期,以供…

(安全)文件传输,唯一可靠的方式

工程 | Josh Long | 2010年8月23日 | ...

条条大路通罗马。当今许多应用程序依赖于消息传递(AMQP、JMS)来弥合不同系统和数据之间的差距。其他则依赖于 RPC(通常是 Web 服务或 REST)。然而,对于绝大多数应用程序而言,文件传输是非常普遍的方式!有几种常见的方式来支持它,但其中三种最常见的方式是使用共享挂载或文件夹、使用 FTP 服务器以及(对于更安全的交换)使用 SSH(或 SFTP)。虽然众所周知,Spring 一直为消息传递(JMS、AMQP)和 RPC(太多了…

Grails 的 RabbitMQ 插件 - 早期访问

工程 | Peter Ledbrook | 2010年8月23日 | ...

RabbitMQ 是一个轻量级、可靠、可扩展且可移植的消息代理,基于 高级消息队列协议 (AMQP)。它非常适合异构系统和云平台,但几乎可用于任何消息传递需求,无论大小。您(通常)不会通过 JMS API 访问它,事实上 JMS 插件也无济于事,但现在有一个新的插件可用,旨在方便地在 Grails 应用程序中使用 RabbitMQ。

当前版本的插件 (0.2) 功能相对有限,但您已经可以发送和接收消息了。我鼓励您尝试体验…

使用 Python 构建 RabbitMQ 应用

工程 | Greg L. Turnquist | 2010年8月19日 | ...

RabbitMQ 是一个强大的消息代理,基于 高级消息队列协议 (AMQP)。由于 AMQP 规范的中立性,可以轻松地从许多平台连接到它,包括 Python。在这篇博客文章中,我们将

  • 创建一个简单的股票代码 Python 应用
  • 创建一个决定何时买卖的经纪商 Python 应用。
  • 比较 RabbitMQ 团队创建的 AMQP 库  pikapy-amqplib
您可以在 http://github.com/gregturn/amqp-demo 找到本博客文章的所有源代码。这假定您已按照 适用于您平台的说明 安装了 RabbitMQ 并启动了它。就我个人而言,我在我的 Mac OS X 机器 (snow leopard) 上运行它。

顺便一提

本博客文章中的代码仅用于演示目的。请勿依赖这些算法进行财务建议。
话不多说,让我们开始写代码吧!

构建股票代码应用

消息传递解决方案的一个好例子是股票代码系统。证券交易所向代理发布消息,指示股票名称、价格和时间。
import pickle
import random
import time

class Ticker(object):
    def __init__(self, publisher, qname):
        self.publisher = publisher

        # This quickly creates four random stock symbols
        chars = range(ord("A"), ord("Z")+1)
        def random_letter(): return chr(random.choice(chars))
        self.stock_symbols = [random_letter…

使用 Grails 简化 Spring Security

工程 | Peter Ledbrook | 2010年8月11日 | ...

Spring Security 是一个功能强大的库,用于保护您的应用程序,提供了令人眼花缭乱的选项。它基于 Spring,可以轻松集成到 Grails 应用程序中。但为什么不省去麻烦,使用 新的改进版 Grails 插件 呢?

该插件经历了几个演进阶段,始于 Acegi 插件。其最新版本是针对 Spring Security 3 和 Spring 3 的完全重写。其中一个结果是该插件仅适用于 Grails 1.2.2 及更高版本。另一个重大变化是,不再只有一个 Spring…

Virgo 里程碑 M03 发布

工程 | Christopher Frost | 2010年8月10日 | ...

Virgo 2.1.0.M03-incubator 可从 Virgo 网站 下载。变更包括

  • 进一步的性能改进,特别是针对 Windows 用户。
  • 将 Logback 版本更新至 0.9.24,SLF4J 更新至 1.6.1
  • 次要 Bug 修复

通过调整入口/出口跟踪的日志级别实现了性能提升。

由于 Logback 的新版本,配置文件 'serviceability.xml' 的语法略有变化。更多信息可以在 此处 找到。

我们现已发布 计划 概述,以便您更好地了解 Virgo 的未来发展方向。

Hyperic 4.4 版通过 vCenter API 扩展了 vSphere 支持

工程 | Charles Lee | 2010年8月6日 | ...

SpringSource Hyperic 4.4 已于本周早些时候发布,通过与 VMware vCenter 集成,增强了 VMware 虚拟化环境的管理。  尽管 Hyperic 长期以来一直支持 VMware 技术(也称为 VMware Infrastructure 或 VI),但 VI Java API(http://vijava.sf.net)的可用性极大地简化了我们的工作,因为那时强大的 SDK 精简了 Java 应用程序与 VI 交互的方式。  通过采用 VI Java API,我们可以轻松地跟上 VMware 从 VI 到今天所知的 VMware vSphere 的演进。  这也使我们能够…

Spring Web Flow 2.2.0.M1 发布

工程 | Rossen Stoyanchev | 2010年8月5日 | ...

我很高兴地宣布 Spring Web Flow 2.2 的第一个里程碑版本现已可供下载。该版本也可通过 Maven 里程碑仓库 http://maven.springframework.org/milestone 获取。与 Spring Web Flow 2.1 一样,此版本需要 JDK 1.5、Spring 3 和 Spring Security 3。

此版本的主要重点是通过扩展支持的 JSF 2 功能 列表来满足 JSF 用户的需求。不久前 Web Flow 2.1 使得使用 JSF 2 依赖成为可能,而无需像目前 JSF 1.2 常用的那样需要单独的 Sun Facelets jar。

在 Spring Web 中…

面向 Java 和 .NET 的 Spring GemFire 1.0.0.M1 发布

工程 | Costin Leau | 2010年8月3日 | ...

我很高兴地宣布,Spring GemFire 项目 的第一个里程碑版本已发布,它是 Spring 家族的新成员。Spring GemFire(简称 SGF)将 Spring 的概念和编程模型带到了 GemFire,后者是 SpringSource 的分布式数据管理平台。该版本可用于 Java.NET

1.0.0.M1 版的特性包括

  • GemFire 基础设施的声明式依赖注入风格配置(例如Cache, Region, Interest等)
  • 将异常转换为 Spring 可移植的DataAccess异常层次结构
  • 提供 Template 和 callback 支持,以便轻松访问原生 API
  • 事务管理支持
  • 为 GemFire 受管对象提供 Spring 支持的装配
  • 自动生成非基于反射的Instantiator对象
请注意,其中一些特性目前仅在 Java 版本中可用。
通过 SGF,Spring 用户在使用 GemFire 时会感到得心应手,而熟悉 GemFire 的开发者将看到 Spring 容器的优势和灵活性、其强大的 AOP 集成以及多功能的 servicio 抽象。但不要只听我的一面之词——下载项目并运行示例应用程序。它是一个基于控制台的“shell”,允许与数据网格进行即时交互;可以启动和停止节点,并查看多个客户端之间透明共享的信息。

我们期待您的反馈!

Google App Engine 中的 Spring Security

工程 | Luke Taylor | 2010年8月2日 | ...

Spring Security 以其高度可定制性而闻名,因此在我首次尝试使用 Google App Engine 时,我决定创建一个简单的应用程序,通过实现一些核心 Spring Security 接口来探索 GAE 功能的使用。在本文中,我们将介绍如何

  • 使用 Google 账户进行身份验证。
  • 当用户访问受保护资源时,实现“按需”身份验证。
  • 使用应用程序特定的角色补充 Google 账户的信息。
  • 使用原生 API 将用户账户数据存储到 App Engine 数据存储中。
  • 根据分配给用户的角色设置访问控制限制。
  • 禁用特定用户的账户以阻止访问。

您应该已经熟悉将应用程序部署到 GAE。启动并运行一个基本应用程序不需要很长时间,您可以在 GAE 网站 上找到大量指导。

示例应用

该应用程序非常简单,使用 Spring MVC 构建。应用程序根目录下部署了一个欢迎页面,您可以进入“主页”,但前提是您已进行身份验证并已在应用程序中注册。您可以在 此处 尝试一个部署在 GAE 中的版本。

注册用户存储为 GAE 数据存储实体。首次进行身份验证后,新用户将被重定向到…

订阅 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

先行一步

VMware 提供培训和认证,助您加速前行。

了解更多

获得支持

Tanzu Spring 在一项简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部