SpringOne2GX 2013 回放:超越依赖注入

新闻 | Pieter Humphrey | 2014 年 4 月 29 日 | ...

录制于加利福尼亚州圣克拉拉的 SpringOne2GX 2013 大会

演讲者:Mark Secrist

许多学习 Spring 框架的开发人员认为它仅仅是另一种集中式依赖注入机制。虽然框架确实很好地处理了这项职责,但该框架远不止于此。在本讲座中,我们将探索核心框架以及许多其他 Spring 项目使用的构建块和模式。其结果是,与会者将更深入地了解如何使用 Spring 框架,并学习如何构建自己的可以利用这些相同模式的组件。我们将探讨的主题:

  • 集中式生命周期管理的优势是什么
  • 面向接口编程
  • 利用代理的强大功能
  • 使用注解
  • 理解模板模式

依赖注入是 Spring 框架所做工作的一个非常重要的部分。然而,它也是一套非常关键的模式,我们将对此进行探讨。

  • 集中式生命周期管理
  • 检查 BeanFactoryPostProcessor
  • 检查 BeanPostProcessor
  • 如何编写自己的 BeanPostProcessor
  • 面向接口编程
  • 面向接口编程的好处
  • 松耦合
  • Spring 如何利用此机制的示例
  • 如何在您自己的 Spring 应用程序中利用
  • 利用代理的强大功能
  • 代理在 Spring 中如何工作
  • Spring 如何使用它们
  • 编写自己的基于代理的解决方案
  • 使用注解
  • Spring 如何使用注解的示例
  • 使用您自己的注解
  • 理解模板模式
  • 模板模式的目的
  • Spring 如何使用模板
  • 创建您自己的模板

了解更多关于 Spring Framework 的信息,请访问 http://projects.spring.io/spring-framework

!{iframe width="560" height="315" src="//www.youtube.com/embed/JfgP566BHW0" frameborder="0" allowfullscreen}{/iframe}

Project Sagan:客户端架构

工程 | Brian Clozel | 2014年4月28日 | ...

现在我们对 JavaScript 模块有了更多的了解,我们已准备好深入探讨 Sagan 应用程序的客户端架构。

注意:如果您尚未阅读过关于Sagan 项目的先前博客文章,您应该知道这是为本博客和spring.io上的所有其他内容提供支持的 Spring 参考应用程序。之前的文章展示了如何运行此应用程序我们如何实现零停机部署,以及我们如何将 Sagan 升级以使用最新的 JDK8 功能

在这篇文章中,我想介绍 Sagan 应用程序中客户端架构的基础知识。

  1. 为什么客户端应用程序位于单独的 sagan-client 项目模块中?
  2. 它如何与 sagan-site 模块链接?
  3. 什么是npmbowergulp
  4. 这些工具如何协同工作来构建客户端应用程序?

DISID 牵头 Spring Roo 项目

新闻 | Pieter Humphrey | 2014 年 4 月 24 日 | ...

DISID 牵头 Spring Roo 项目

Disid

我们很高兴地宣布,Pivotal 和 DISID 将在 Spring Roo 项目的进一步开发上进行合作。Roo 将继续致力于提供一种代码生成风格的 RAD 框架,专注于帮助开发人员按时完成 Java 项目。

Pivotal 和 DISID 已经与 Roo 合作了一段时间,因此我们很高兴能将最初的一个非正式的、由开发人员主导的合作伙伴关系正式化——DISID 致力于这一合作伙伴关系。Spring Roo 项目将继续作为 Spring 下的开源项目,保持相同的当前许可政策。Pivotal 和 DISID 都呼吁 Spring 和 Java 社区中任何愿意与我们合作参与该项目的人!

http://www.disid.com/web/guest/spring-roo 了解更多信息。

在 Twitter 上关注 DISID @disid_corp 获取更多更新!

Spring Boot 1.0.2.RELEASE 现已发布

版本发布 | Dave Syer | 2014 年 4 月 24 日 | ...

Spring Boot 1.0.2.RELEASE 现已在 Spring 和 Maven Central 仓库中提供。这主要是一个错误修复版本(没有重大更改,但如果您使用的是旧版本,请升级)。还有一些不错的新功能。

我最喜欢的新增功能是新的 @IntegrationTest 功能。这是一个示例

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SampleActuatorApplication.class)
@WebAppConfiguration
@IntegrationTest("server.port=0")
public class SampleActuatorApplicationTests {

	@Value("${local.server.port}")
	private int port…

Spring Social 1.1.0 发布

版本发布 | Craig Walls | 2014 年 4 月 24 日 | ...

亲爱的Spring社区,

我非常高兴地宣布 Spring Social 1.1.0 正式发布。随着核心 Spring Social 项目的发布,Spring Social Facebook 1.1.0、Spring Social Twitter 1.1.0 和 Spring Social LinkedIn 1.0.0 也已发布。

这些版本包含几项新功能,包括

  • 简化的 Java 和 XML 配置支持
  • 一个新的 ReconnectFilter,可在令牌过期或被吊销时自动重新建立连接
  • 更新了 Facebook、Twitter 和 LinkedIn 的 API 绑定
  • 一个通用的连接工厂,用于尚不支持(或尚未支持)连接框架的 API
  • 更紧密的 Spring Security 集成,包括用于提供商驱动的登录的 SocialAuthenticationFilter
  • Thymeleaf 模板支持
  • 更新的文档
  • ……等等……

网络研讨会:Spring Integration 4.0 - 新的疆域

新闻 | Pieter Humphrey | 2014 年 4 月 22 日 | ...

演讲者:Gary Russell

Spring Integration 团队一直在努力开发这个流行的集成框架的最新版本。在 4.0 版本之前,如果不使用 XML,就无法完整地定义 Spring Integration 流。随着这个主要版本的发布,现有的基本注解支持得到了改进,并且那些倾向于使用 Java @Configuration 类的人现在可以在不使用任何 XML 的情况下定义他们的应用程序(当然,XML 仍然支持)。在本讲座中,我们将涵盖框架的这些主要变化,解释如何以及何时使用它们。我们将主要进行演示和代码演示,并将从头开始构建一个有用的 Spring Boot / Integration 应用程序。

2014 年 5 月 13 日星期二 上午 3:00 BST 时间(伦敦,UTC+1) 注册

2014 年 5 月 13 日星期二 上午 10:00 Pacific Daylight Time(旧金山,UTC-07:00) 注册

网络研讨会:使用 Spring 和 Neo4j 构建数据驱动型应用程序

新闻 | Pieter Humphrey | 2014 年 4 月 22 日 | ...

演讲嘉宾:Michael Hunger (Neo Technology) 和 Josh Long (Pivotal)

Spring Data Neo4j 3.0 现已推出,支持 Neo4j 2.0。Neo4j 是一个体积小巧但功能强大的图数据库。图数据库非常适合用来提出有趣的问题和进行分析。想加载 Facebook 好友图谱?构建推荐引擎?Neo4j 就是您的理想选择。加入 Spring Data Neo4j 负责人 Michael Hunger (@mesirii) 和 Spring 开发者布道师 Josh Long (@starbuxman) 的行列,了解如何使用 Spring Data Neo4j 和 Spring Boot 构建智能、由图驱动的应用程序。

2014 年 5 月 20 日星期二 下午 3:00 BST 时间 (伦敦,UTC+1) 注册

2014 年 5 月 20 日星期二 上午 10:00 Pacific Daylight Time (旧金山,UTC-07:00) 注册

本周 Spring - 2014 年 4 月 22 日

工程 | Josh Long | 2014 年 4 月 22 日 | ...

欢迎收听本期《本周 Spring》!本周我将在印度班加罗尔参加印度开发者峰会,与开发者们(您猜怎么着……)聊 Spring!我还拜访了班加罗尔电子城的一家大型系统集成商,并向他们使用 Spring 处理全球项目的众多架构师和工程师团队发表了演讲。印度是一个很有趣的地方,因为他们的很多业务都来自于那些希望在项目压力巨大的情况下获得额外帮助的外国公司。自然,任何能帮助他们更快地完成更多工作的东西都会引起他们的兴趣,而 Spring 正是他们钟爱的选择。不用说,Spring Boot 深受欢迎!不过,也不是所有的工作,当当地美食如此美味时!:)

本周有大量的网络研讨会和回放——我们需要介绍的内容很多,让我们开始吧!

  • 对 Hadoop 垂涎欲滴?准备好盛宴吧——Mark Pollack 博士和 XD 团队宣布 Spring XD 1.0.0 M6 现已发布。这个新版本包含了大量新功能,包括对 YARN 的支持、用于 DIRT 分布式运行时的 ZooKeeper 支持、机器学习算法、改进的 shell 选项卡自动完成功能、一个支持在廉价硬件上实现 100 万+ 事务/秒的 Reactor 驱动的 TCP/UDP 源、默认的 FTP 到 HDFS 作业,以及更多!(不,真的,我们是认真的)。这个版本感觉他们像是跳过了所有的 1.0.x 里程碑,直接发布了一个“2.0”版本!
  • Reactor 项目负责人 Jon Brisbin 宣布,与 Typesafe、Netflix、Twitter 等公司的其他工程师一起,发布了用于响应式流处理的新通用 API。这太棒了
  • Spring Data 负责人 Oliver Gierke 刚刚宣布 Spring Data Codd 的第二个服务版本现已发布。这个新版本非常重要,请务必全部查看!
  • Dave Syer 博士刚刚宣布了 Spring Security OAuth 2.0.0.RC1 的发布。这个项目发展得非常快,我喜欢更新我的演讲代码,The Spring REST Stack,使用越来越简洁强大的迭代。我已经更新了该分支(仍在更新单元测试)以使用 Spring Security 2.0.0.RC1。这是一个可用的 OAuth 保护的 REST 服务,支持 HTTP 和 HTTPS,可以独立运行,也可以作为传统的 .war 运行,并使用自定义的 UserDetailsService bean 和 Java 8 lambda。很不错!
  • Spring Integration 正在准备一个令人难以置信的新版本——全面支持注解和 Java 配置,以及一些 Spring Boot 支持!在 4.0 版本中,你将能够构建不依赖 XML 的集成应用程序。项目负责人 Gary Russell 将在 5 月 13 日的名为 Spring Integration 4.0,新前沿 的网络研讨会上带你了解所有这些令人兴奋的新特性。
  • 4 月 30 日,与 New Relic 的 Ashley Puls 一起加入我,我们将追踪和诊断一个 Javascript(前端)和 Java/Spring(后端)应用程序。
  • Chris Beams 撰写了另一篇关于 Sagan 项目的出色文章,这一次是关于迁移到 Java 8 的。快来看看!
  • 我最近的演讲《使用 Spring Boot 构建“Bootiful”应用程序》的回放现在可以在我们的 YouTube 频道上观看
  • Spring Security 负责人 Rob Winch 又带来了一篇关于高级 Spring MVC 测试与常用第三方项目集成的文章。这篇文章是关于使用 Geb 测试 Web 应用程序
  • Spring Data Neo4j 的负责人 Michael Hunger 和我将在 5 月 20 日举办一个关于 Spring Data Neo4j 3.0 和 Neo4j 2.0 的精彩网络研讨会,地址在这里
  • 搜索是你的目标吗?你有机会免费获得前排座位,观看前同事、Spring Committer Costin Leau(现任职于 Elasticsearch)的 90 分钟演讲:《你的数据,你的搜索,Elasticsearch》。
  • 不要错过 Pivotal 的 Mike Wiesner 在本次SpringOne2GX 2013 回放:应用程序安全陷阱中讨论的实用的应用程序安全(不仅仅是 Spring Security)话题。
  • Groovy 语言负责人 Guillaume LaForge 的史诗级《Groovy Weekly》专栏进展顺利!这里总有好东西,本周也不例外。如果你喜欢 Groovy(和 Grails)的一切,不妨看看。
  • 这个项目由 Alexandre Rafalovitch 发起,旨在改进 SOLR 的 JavaDocs。这里有很多值得称赞的地方,但我特别喜欢这个 Spring Boot 示例,它演示了一个连接到 SOLR 实例的 REST 端点。很棒!
  • Fabio Maffioletti 写了一篇非常好的文章,探讨了如何使用JTA 配合 Spring(特别是 Spring Boot 和 Spring Data JPA)通过 Atomikos 来协调两个不同数据库之间的事务。这篇文章的起点是我在 2011 年写的关于同一主题的旧文章,它引入了 Spring Boot 和 Spring Data,并将示例从一个数据库和一个 JMS 代理改为一个数据库和另一个通过 JPA 的数据库。这真的很酷!
  • Yuan Ji 撰写了非常不错的关于使用 Spring HATEOAS 构建符合 HAL 标准的 REST 服务的文章以及如何对其进行单元测试,以及——最近——如何使用Angular-HAL 来消费这些服务。
  • 我们的朋友 Brian Hannaway 又回来了,这次他写了一篇关于构建 Spring Batch 应用程序的文章。内容非常棒,值得任何想爱上并学习 Spring Batch 的人阅读。在文章中,Brian 演示了如何使用 XML 命名空间构建一个 Batch 应用程序。Spring Batch 也支持非常好的 Java 配置 API,并且——借助 Spring Boot——编写 Spring Batch 应用程序可以非常简洁。我以 Brian 非常酷的示例为基础,写了一个使用 Spring Boot 和 Java 配置 API 的不同版本供参考。不过,一定要先从 Brian 的博客开始,否则我存储库中的代码将毫无意义!

SpringOne2GX 2013 回放:你的数据,你的搜索,Elasticsearch

新闻 | Pieter Humphrey | 2014 年 4 月 22 日 | ...

录制于加利福尼亚州圣克拉拉的 SpringOne2GX 2013 大会

演讲者:Costin Leau, Elasticsearch

找到相关信息一直是一个挑战,尤其是在当今不断增长的数据“海洋”中。本讲座探讨了实时全文搜索领域,使用 Elasticsearch,一个建立在 Apache Lucene 之上的开源分布式搜索引擎。该会议将展示如何对结构化和非结构化数据进行实时搜索,如何处理类型和建议,如何进行社交图谱过滤和聚合以进行高效分析。所有这些都从 Spring 的角度出发。最后但同样重要的是,该演示文稿关注 Hadoop 平台,以及 Map/Reduce、Hive、Pig 或 Cascading 作业如何利用搜索引擎来显著加快执行速度并增强其功能。演示文稿涵盖了架构主题,如索引可伸缩性、数据局部性和分区,使用离线和在线存储(HDFS、S3、本地文件系统)以及多租户。

在:http://projects.spring.io/spring-data 了解更多关于 Spring Data 和 Elasticsearch 的信息。

!{iframe width="560" height="315" src="//www.youtube.com/embed/G56aE1kiOZw" frameborder="0" allowfullscreen}{/iframe}

SpringOne2GX 2013 回放:应用程序安全陷阱

新闻 | Pieter Humphrey | 2014 年 4 月 22 日 | ...

录制于加利福尼亚州圣克拉拉的 SpringOne2GX 2013 大会

演讲者:Mike Wiesner

创建一个安全的应用程序不仅仅是为其应用 Spring Security。这当然不是一个新话题,但随着 Servlet 容器和各种 Spring 项目(如 Spring MVC 和 Spring Integration)的动态配置越来越受欢迎,了解我们可能因此获得的安全性权衡以及如何解决这些问题变得更加重要。

在 http://projects.spring.io/spring-security 了解更多关于 Spring Security 的信息

在 http://projects.spring.io/spring-framework 了解更多关于 Spring MVC 的信息。

了解更多关于 Spring Integration 的信息,请访问 http://projects.spring.io/spring-integration

!{iframe width="560" height="315" src="//www.youtube.com/embed/Id-7C3WOKWw" frameborder="0" allowfullscreen}{/iframe}

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有