抢先体验:适用于 Eclipse Indigo (3.7) 的 SpringSource Tool Suite

工程 | Martin Lippert | 2011 年 3 月 25 日 | ...

Eclipse Indigo (3.7) M6a 软件包几天前已可从 Eclipse 下载,因此,现在是时候让您在该里程碑版本之上使用 SpringSource Tool Suite (STS) 了。:-)

这只是 STS 的抢先体验版本,但我们设法为 Eclipse 3.7 集成了所有组件:适用于 Eclipse 3.7 的 AJDT 版本、在 3.7 上运行的 Groovy-Eclipse 版本,当然还有 SpringSource Tool Suite 本身,其中包含 Spring IDE、Grails 工具以及您从 STS 了解的所有其他出色功能 - 现在也都可以在最新的 Eclipse Indigo 里程碑版本上运行。

如何安装

如果要手动添加某些内容,则 STS 的所有必要依赖项都可从复合更新站点获得:http://dist.springsource.com/snapshot/TOOLS/composite/e3.7

我们还在 STS 的 安装说明 的“从夜间快照更新站点安装”部分中包含了 3.7 的安装说明……

本周 Spring:2011 年 3 月 22 日

工程 | Josh Long | 2011 年 3 月 23 日 | ...

又一个很棒的一周 - 出现了许多新型(且新颖!)的内容,实际上,也出现了新的内容来源!尽情享受!

  1. SpringSource 推出了新的 SpringSource YouTube 频道。此频道提供有关 SpringSource 技术的令人兴奋的技术内容,应是您获取新内容以及您可能错过的内容的首选目的地。立即查看!就我个人而言,我发现此频道在大屏幕电视上非常棒,该电视支持浏览器或 YouTube(Google TV/Apple TV/slingbox 等)或外围屏幕 - 例如第二台笔记本电脑或第二个显示器。您也可以在便携式设备(如汽车中的 iPhone)或通勤时收听。
  2. …说到 YouTube 频道,上周网络研讨会的内容和幻灯片 - Spring 和 STS 入门 - 现已提供给错过的人员。Spring 框架负责人 Juergen Hoeller 几周前在现场网络研讨会上介绍了令人兴奋的下一代 (3.1) Spring 框架,该网络研讨会可在 SpringSource YouTube 频道上观看
  3. Martin Lippert 宣布了 SpringSource Tool Suite 的最新版本 2.6.0。 新版本 充满了新功能,并跟踪了各种项目的最新版本(Spring Roo 1.1..2、Eclipse Helios SR2、Groovy 1.7.8、Grails 1.3.7)。它包括对 Spring Roo 和 Groovy on Grails 的更新支持和性能、Spring Web Flow 的图形编辑器,以及对 Spring 注解(@Autowired@Qualifier@RequestMapping 等)的内容辅助、快速修复和重构的新支持。
  4. Ramnivas Laddad 指向本周 Spring 链接到此 非常 创新的 Chrome 浏览器插件。要使用它,请在全能栏(搜索/地址栏)中键入“spring”,后跟一个空格,然后键入您要搜索的类的名称。它会自动显示链接到文档的候选结果!太棒了,而且很方便!(注意:我们使用刚发布的 Chrome 10 对此进行了测试,尽管它无疑至少与 Chrome 9 兼容)。

  5. InfoQ 提供了 Mark Pollack 和 Chris Richardson 的精彩介绍 Spring Data 的视频,该视频来自去年在芝加哥举行的 SpringOne2GX 活动。Spring Data 是一种利用这些新的强大数据存储选项(有时称为“NoSQL”存储)的方式,这种方式对于 Spring 用户来说既熟悉又惯用。请查看!
  6. Spring Data 项目的最新版本 包含对 Neo4j 的支持 已发布。新版本包含许多新功能,并跟踪 Neo4j 本身的最新版本。Neo4j 是当今开发人员可用的众多新型专业数据存储之一。Neo4j 将数据建模为关系和节点。它针对快速节点遍历进行了优化,例如在 Facebook 好友图中。
    此外,SpringSource 正在于 4 月 20 日举办有关 Spring Data(特别是包含 Neo4j 支持的 Spring Data Graph 子项目)的网络研讨会。该演示文稿将针对 北美欧洲 进行演示。立即注册!
  7. Spring 框架可帮助您构建最佳应用程序。Spring Social 则在此基础上进一步发展,让您可以将应用程序与用户集成。JTeam 小组再次行动起来,这次他们以一种有趣的方式 更新了 Spring Social 的外观,并附带了 源代码和示例应用程序。请查看!
  8. Spring MVC 支持多种不同类型的视图,包括 RESTful 有效负载、Velocity 模板、JSP 和基于 Tiles 的视图。这篇博文 解释了 如何将 Spring MVC 与 Tiles 集成
  9. Chariot Solutions 的 Ken Rimple 已 录制了一个屏幕截图,介绍了 SpringSource 家族的新成员 Wavemaker。
  10. 现在使用 Spring 框架的人数比以往任何时候都多,而这种增长带来的结果是在各种工具中对 Spring 提供了更新、更专业的支持。一家 UML 工具制造商 Architexa 谈到了他们基于 Eclipse 的产品中对 Spring 框架的增强支持。请查看 此博客了解更多信息。
  11. Ashish Jain 对 Spring 3.1 的新缓存支持提供了有趣的视角。

    Ashish 选择简化他的软件堆栈(通过删除 Hibernate,而是通过 Spring 框架的JdbcTemplate 使用直接 JDBC,一个…

本周 Spring:2011 年 3 月 15 日

工程 | Adam Fitzgerald | 2011 年 3 月 16 日 | ...

又一个很棒的一周,提供了优质且深入的内容。本周列表中的大多数项目最好搭配一杯好咖啡和一把舒适的椅子来欣赏。:-) 尽情享受!

  1. SpringSource 将在本周四举办免费网络研讨会 - Spring 和 SpringSource Tool Suite 入门 。此次演示文稿将让经验丰富的用户了解一些新的方法,并为该技术的新手提供一个机会,让他们开始使用它并快速进入高效的应用程序开发。此外,与会者还有机会向演示者和专家小组提问。该网络研讨会将举行两次,一次针对 欧洲,一次针对 北美。希望在那里见到您!
  2. Spring MVC 负责人 Keith Donald 介绍 Spring MVC 3 的视频 已在 InfoQ.com 上发布。精彩的视频,仅在短短 90 分钟内提供了大量信息。请查看!
  3. Craig Walls 本周发布了关于 扩展 Spring Social 的服务提供程序框架 的文章,这次介绍了与 Netflix API 集成的示例。非常有见地的文章,而且很鼓舞人心 - 在阅读时,我不禁想到了一些令人兴奋的应用程序创意。
    </li>
    
  4. 这份 VMware 白皮书 对从 Java EE 应用程序服务器迁移到更精简、更强大的 SpringSource tcServer 提供了很好的介绍。它提供了一些引人入胜的阅读内容 - 并突出了某些非常有趣的信息。请查看!
  5. 	<li>The whitepaper exploring a migration from a Java EE application to tcServer has a companion <a href="http://java.sys-con.com/node/1750240">in this VMware</a> whitepaper,  that talks about the migration from Tomcat to tcServer. Pretty exciting!
    
  6. 这篇 博文 介绍了高吞吐量、异步 Servlet 3.0 应用程序。这篇博文对于使用 Tomcat 或 tcServer 的用户特别有用,因为它们代表了迄今为止最大的 Servlet 3.0 兼容安装库。

扩展 Spring Social 的服务提供程序框架

工程 | Craig Walls | 2011 年 3 月 10 日

| ...

上周,我向您介绍了 Spring Social 的服务提供商“连接”框架,并向您展示了它如何简化用户本地应用程序帐户与其在软件即服务 (SaaS) 提供商上的帐户之间建立连接的过程。今天,我想向您展示如何扩展服务提供商框架来处理与 Spring Social 不直接支持的提供商的连接。

扩展 Spring Social 以支持 Netflix

假设您正在开发一个电影评论网站,用户可以在该网站上阅读和发布简短的电影评论。通常,电影评论会按最新条目显示在主页上。但是,如果用户将其帐户连接到其 Netflix 帐户,则您可以向他们显示其 Netflix 光盘队列中电影的评论。为了实现这一点,您希望利用 Spring Social 的服务提供商框架来连接用户的帐户与其 Netflix 帐户。Spring Social 1.0.0.M2 不包含 Netflix 服务提供商或 API 绑定,但可以轻松扩展以支持未直接支持的提供商。

在本文中,我将向您展示如何构建 Spring Social 的服务提供商框架以启用与 Netflix 的连接。我们将首先开发 Netflix 服务提供商实现,然后构建一个简单的 API 绑定以支持我们应用程序的需求。开发 Netflix 服务提供商所使用的技术可以应用于扩展 Spring Social 以支持几乎任何服务提供商。您可以通过查看 GitHub 上的示例代码 来了解。

了解 Netflix 的授权 API

在我们开始开发 Netflix 服务提供商实现之前,我们需要进行一些前期研究,以了解有关 Netflix 授权 API 工作原理的一些基本细节。

我们需要确定的第一件事是 Netflix 使用什么授权协议。Netflix API 文档的 身份验证概述 部分告诉我们他们使用 OAuth,但没有明确说明使用的是 OAuth 规范的哪个版本。因此,需要进行一些侦探工作。

在页面下方一点(在“那些讨厌的 OAuth 参数”标题下),我们看到了对消费者密钥、随机数和时间戳的提及。这些内容不适用于 OAuth 2,因此 Netflix 必须是 OAuth 1 提供商。此外,oauth_version 参数设置为“1.0”的描述也证实了 Netflix 实现了 OAuth 1。

现在我们知道 Netflix 使用 OAuth 1。但了解它们是实现规范的 1.0 版还是 1.0a 版也很重要。服务提供商通常不会在其文档中详细说明这一点,并且无论哪种情况,oauth_version 值都应为“1.0”。但是,有一些明显的迹象表明了 OAuth 规范的特定版本。以下是一些表明 OAuth 1.0 正在使用的线索

  • oauth_callback 参数发送到授权 URL 而不是请求令牌请求。
  • 没有验证器的概念,并且无需将 oauth_verifier 参数发送到访问令牌 URL。

对于 OAuth 1.0a,请注意以下迹象

  • oauth_callback 参数发送到请求令牌请求而不是授权 URL。
  • 从提供商在回调中接收验证器,并且必须将 oauth_verifier 参数发送到访问令牌 URL。

在 Netflix 文档中寻找这些线索,我们确定 Netflix 使用的是 OAuth 1.0(而不是 1.0a)。此信息非常重要,在我们定义服务提供商实现时将很有用。

最后,我们需要知道请求令牌、授权和访问令牌 URL 是什么。在页面下方(在“进行受保护的调用”标题下),您会找到详细说明,告诉我们所需的 URL 如下

  • 请求令牌 URL:http://api.netflix.com/oauth/request_token
  • 授权 URL:https://api-user.netflix.com/oauth/login
  • 访问令牌 URL:http://api.netflix.com/oauth/access_token

请特别注意请求和访问令牌 URL 中使用的协议。大多数提供商在这方面都很灵活,建议您使用 https。但是,根据我使用 Netflix 的经验,我发现如果您通过 https 请求请求或访问令牌,Netflix 会抱怨请求签名无效。但是,授权 URL 通过 https 工作正常。

开发 Netflix 服务提供商实现

要创建新的服务提供商实现,我们需要扩展 AbstractOAuth1ServiceProviderAbstractOAuth2ServiceProvider。这两个类分别为 OAuth 1.0/1.0a 和 OAuth 2 提供 OAuth 版本特定的基本功能。由于 Netflix 是 OAuth 1.0 提供商,因此我们的 NetFlixServiceProvider 需要扩展 AbstractOAuth1ServiceProvider


package org.springframework.social.movies.netflix;
import org.springframework.social.connect.oauth1.AbstractOAuth1ServiceProvider;
import org.springframework.social.connect.support.ConnectionRepository;
import org.springframework.social.oauth1.OAuth1Template;

public final class NetFlixServiceProvider extends AbstractOAuth1ServiceProvider<NetFlixApi> {

    public NetFlixServiceProvider(String consumerKey, String consumerSecret, ConnectionRepository connectionRepository) {
        super("netflix", connectionRepository, consumerKey, consumerSecret, 
            new OAuth…

本周在 Spring:2011 年 3 月 8 日

工程 | Josh Long | 2011 年 3 月 9 日 | ...

本周又出现了大量令人兴奋的新版本和更新、优秀的社区内容以及欢迎 WaveMaker 加入 SpringSource 家族的激动人心的公告。

  1. Rod Johnson 在 SpringSource 博客中宣布了对 WaveMaker 的收购。WaveMaker 是一款广泛使用的图形工具,使非专业开发人员能够快速构建 Web 应用程序。摘录自帖子:“虽然 WaveMaker 已经是 Spring 生态系统的一部分,但它现在将成为 Spring 家族和 VMware 云战略的组成部分。所有 WaveMaker 的员工都将加入 VMware。”令人兴奋……

面向庞大新受众:VMware 收购 WaveMaker

工程 | Rod Johnson | 2011 年 3 月 8 日 | ...

今天,VMware 在此博客中宣布收购 WaveMaker,这是一款广泛使用的图形工具,使非专业开发人员能够快速构建 Web 应用程序。虽然 WaveMaker 已经是 Spring 生态系统的一部分,但它现在将成为 Spring 家族和 VMware 云战略的组成部分。所有 WaveMaker 的员工都将加入 VMware。

此次收购通过授权更多开发人员构建和运行与底层基础设施共享信息的现代应用程序以最大限度地提高性能、质量……来进一步推动 VMware 的 云应用程序平台 战略。

本周在 Spring:2011 年 3 月 1 日

工程 | Josh Long | 2011 年 3 月 2 日 | ...

本周又出现了一系列令人兴奋的新版本和更新,以及优秀的社区内容。

做好准备!

让我们直接进入正题。

  1. Spring Roo 1.1.2 现已发布。自上个月发布 1.1.1 版本以来,此新版本包含 200 多项增强功能、新功能和修复程序。一些亮点包括增强的工具可用性、持久性增强、GWT 和 Spring MVC 增强以及库升级。
  2. Martin Lippet 刚刚宣布了 SpringSource Tool Suite 的 2.5.2.SR1 和 2.6.0.M2 版本

    2.5.2.SR1“刷新”已更新对 Groovy 1.7.8、Grails 1.3.7 的支持,并更新到 Eclipse Helios SR2 (3.2.6) 和刚刚发布的 Spring Roo 1.1.2。2.6.0.M2 里程碑还包括 Roo 插件管理器、对 @RequestMapping 的改进支持以及对 Groovy 和 Grails 工具的大量改进。

  3. Martin Lippet 还整理了有关经常被问到且新近得到解答的问题的信息:如何

    贡献自定义项目……

介绍 Spring Social 的服务提供商框架

工程 | Craig Walls | 2011 年 3 月 2 日 | ...

在我的 上一篇博文中,我向您介绍了 Spring Social 对流行的软件即服务 (SaaS) API(如 Twitter、Facebook、LinkedIn 和 TripIt)的 Java 绑定。除了为常见 API 操作提供简单、强类型的 Java 方法外,这些绑定还确保每个 HTTP 请求都包含授权您的应用程序代表用户调用 API 所需的凭据。

我的第一篇博文没有解决的问题是:我们如何管理代表用户调用服务 API 所需的凭据?我很高兴地说,我们现在有了这个问题的答案。

本周早些时候,我们宣布发布 Spring Social 项目的第二个里程碑。Spring Social 1.0.0.M2 中最重要的新增功能是引入了服务提供商“连接”框架。今天,我想向您介绍此框架,并向您展示如何使用它来管理与 SaaS 提供商的“连接”。

本文中的示例来自 Spring Social 展示。要继续操作,请克隆存储库并按照自述文件构建和部署示例应用程序。

获取 Spring Social

在 M2 版本中,Spring Social 已拆分为多个模块

  • spring-social-core - 服务提供商框架、OAuth 支持和核心类。
  • spring-social-web - 连接控制器和支持类型。
  • spring-social-facebook - 用于连接 Facebook 并支持通过 Facebook 登录应用程序的服务提供商实现。
  • spring-social-twitter - 用于连接 Twitter 并支持通过 Twitter 登录应用程序的服务提供商实现。
  • spring-social-linkedin - 用于连接 LinkedIn 的服务提供商实现。
  • spring-social-tripit - 用于连接 TripIt 的服务提供商实现。
  • spring-social-github - 用于连接 GitHub 的服务提供商实现。
  • spring-social-gowalla - 用于连接 Gowalla 的服务提供商实现。
  • spring-social-test - 用于测试服务提供商实现和 API 绑定的支持。

根据您的需要,您不一定需要所有这些模块。至少,您需要核心模块。您可以使用以下条目将其添加到 Maven 构建的项目中


<dependency>
    <groupId>org.springframework.social</groupId>
    <artifactId>spring-social-core</artifactId>
    <version>1.0.0.M2</version>
</dependency>

如果您很可能在 Web 应用程序中使用 Spring Social,则还需要 Web 模块


<dependency>
    <groupId>org.springframework.social</groupId>
    <artifactId>spring-social-web</artifactId>
    <version>1.0.0.M2</version>
</dependency>

然后,您需要添加一个或多个提供商模块。在我们的示例中,我们将讨论向应用程序添加 Twitter 连接,因此我们需要 twitter 模块


<dependency>
    <groupId>org.springframework.social</groupId>
    <artifactId>spring-social-twitter</artifactId>
    <version>1.0.0.M2</version>
</dependency>

由于我们基于 Spring Social 的里程碑版本构建,因此我们需要将 Spring 的里程碑存储库添加到 pom.xml 文件中


<repository>
	<id>org.springframework.maven.milestone</id>
	<name>Spring Maven Milestone Repository</name…

绿豆:Spring 集成入门

工程 | Josh Long | 2011 年 2 月 24 日

| ...

应用程序并非孤立存在。它们需要与客户和其他应用程序进行通信。应用程序集成就是为了实现这种通信。集成允许应用程序彼此共享服务和数据,而且,同样重要的是,集成帮助应用程序连接用户。

Spring Integration 提供了一个构建集成解决方案的框架,以促进这些类型的解决方案。Spring Integration 解决方案描述了数据通过管道的流动。数据作为消息进入处理管道。消息向前移动通过……

SpringSource Tool Suite 中的自定义项目模板

工程 | Martin Lippert | 2011 年 2 月 24 日

| ...

SpringSource Tool Suite (STS) 提供了“新建 Spring 模板项目”向导。使用此向导,用户可以看到许多项目模板,选择一个并让向导根据该模板描述创建一个完整的项目。虽然这为您提供了一种创建新项目的简单方法,但您可能希望为您的团队或组织定义自己的自定义项目模板。我们将在下面向您展示如何做到这一点。

步骤 1:向 STS 贡献新的资源扩展

STS 通过下载和读取资源 XML 文件来创建可用项目模板的列表。为了让 STS 知道这些资源文件位于何处,您需要通过扩展将它们贡献给 STS。

因此,第一步是创建一个新的空插件项目。您不需要其中的 Java 代码,因此不要将其创建为 Java 项目。只需创建一个……

获取 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

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

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部