本周 Spring - 2013 年 5 月 7 日

工程 | Josh Long | 2013 年 5 月 7 日 | ...

欢迎来到史诗般的 Spring 一周!SpringOne 大会已发布了许多新议题,请访问网站查看特色议题!议程网格将在 5 月底前上线。

已接受的 SpringOne2GX 2013 特色议题!

      <li><a href="http://www.springone2gx.com/conference/santa_clara/2013/09/session?id=29165">Tackling Big Data Complexity with Spring</a> (Mark Fisher and Mark Pollack)</li>
          <li><a href="http://www.springone2gx.com/conference/santa_clara/2013/09/session?id=29395">Reactor - an asynch  framework for distributed web and enterprise architectures</a> (Jon Brisbin)</li>
      
    • 面向滑雪板爱好者的 Spring (Dave Syer 和 Phil Webb)

也接受了许多其他新议题

现在,回到我们常规的本周 Spring 内容... 像往常一样,我们有很多内容要介绍,让我们开始吧!

  1. Juergen Hoeller 和 Marius Bogoevici 在 SpringOne2GX 2012 上的演讲 面向 Spring 应用的 Java EE 服务 现已在 YouTube 上提供高清版本!
  2. John Davies 在 SpringOne2GX 2012 上的演讲 实际应用中的 Spring Integration 现已在 YouTube 上提供高清版本!
  3. Kim Saabye Pedersen 写了一个小示例 关于如何在 Spring 的事务管理基础设施中,在接口上使用 @Transactional。干得漂亮,Kim!
  4. 是否有可能将现有的 Spring Petclinic 应用扩展到在单个服务器实例上每秒处理 1000 个请求?Ippon Technologies 的 Julien Dubois 写了一系列共五篇关于该主题的精彩博客文章。如果您错过了之前的汇总,请从此处开始查看整个系列!
  5. Petri Kainulainen 写了一篇很棒的文章,介绍了如何使用 Spring Data SOLR 对数据进行排序。
  6. 顺便说一句,我知道我以前提过,但它真的很方便。您有没有看过 Alvaro Videla 的 RabbitMQ 模拟器
  7. Spring Data 大师 Oliver Gierke 对关于如何在多租户模式下使用 Spring Data MongoDB? 的问题写了一篇精彩回复。务必查看。一般来说,他的建议适用于许多此类场景。
  8. Serkan ÖZAL 编写了一个非常棒的,基于字节码的 RowMapper,它可以与 Spring 的 JDBC 基础设施(如 JdbcTemplate)一起使用,并且能够像 ORM 一样处理关系。因为它基于字节码,所以速度非常快,并且不受 Spring 自己的 BeanPropertyRowMapper 基于反射的性能限制。我还没有试过,但这看起来非常有前景!
  9. 我们的朋友 Roger Hughes 又回来了,带来了新的教程(目前为止有两篇)。第一篇 Spring MVC 的 RESTful Ajax 建立了一个应用(不含 REST 和 Ajax),第二篇则介绍了如何使用 Jackson(一个 JSON 序列化器)对数据对象进行序列化
  10. Bharat Sharma 也 写了一篇关于本周使用 Spring MVC 序列化到 JSON 的精彩文章
  11. 博主 Kal 写了一篇精彩的文章,介绍了 Spring MVC 如何使用 Spring MVC 和 commons-fileupload 简化文件上传

本周 Spring - 2013 年 4 月 30 日

工程 | Josh Long | 2013 年 4 月 30 日 | ...

欢迎来到另一期《本周 Spring》!像往常一样,本周我们有很多内容要介绍,让我们开始吧。您是否错过了上周 Pivotal 的公开发布?请查看重播,了解 GE 对新实体的投资!Pivotal 的使命是将消费级软件带入企业——在企业中,Spring、Groovy、Grails、RabbitMQ、Redis 和 Cloud Foundry 等开源技术已被广泛采用。请查看新的 Pivotal 网站,点击“社区”链接(右上角)了解一些可能会让您惊讶的其他开源项目!

  1. Oliver Gierke 宣布 Spring HATEOAS 0.5 发布,其中包含许多新特性
  2. Spring Security 负责人 Rob Winch 宣布 Spring Security 3.1.4 现已发布。这是一个维护版本,包含一些 bug 修复,包括对 Spring 3.2 的 OSGi 支持。
  3. Spring Data 大师 Oliver Gierke (这家伙真忙!)发布了一条推文,介绍了 Spring Data 的路线图:引入 Spring Data "Babbage"
  4. Spring Data Arora SR1 本周发布(以 Sanjeev Arora 命名)。顺便说一句,您可能已经注意到,各种 Spring Data 发行系列的名称都改编自计算机科学领域各种有影响力的人物。新的发行系列以 Charles Babbage 命名。
  5. Adam Shook 和 Mark Pollack 博士的网络研讨会 Hadoop、Pivotal HD 和 Spring for Apache Hadoop 现已上线。
  6. Azul Systems 的 Gil Tene 在 SpringOne2GX 2012 上做了一场精彩的演讲,题为 理解 Java 垃圾回收以及如何应对,现已上线。
  7. SpringOne2GX 新增重播现已在 YouTube 上提供高清版本:使用 Spring Integration 和 Spring Batch 构建高性能应用,案例研究:配置多站点内存数据库
  8. James Watters 分享了他发现的一个关于设置 Cloud Foundry 和 BOSH 的视频。这是一个相当史诗级的视频,如果您想了解 BOSH,值得一看。
  9. 人们写博客文章的主题有时会让我惊讶。Javarevisted 博客有一篇不错的文章,介绍了 Spring 的(尽管相对内部但很稳定)org.springframework.util.StringUtils 类,并提供了如何将集合转换为分隔字符串的示例。我认为这可能关于该主题的信息多了,但我喜欢这种热情!
  10. RabbitMQ 开发者倡导者 Alvaro Videla 写了一篇关于如何从 PHPUnit 进行 RabbitMQ 单元测试的文章。这种方法很酷,但我想知道它在 Java 和 jUnit 中同时执行测试套件时表现如何。无论如何,这是单元测试我最喜欢的消息队列的好方法!
  11. 您是否需要 Spring Integration 适配器?您有没有查看过 Spring Integration 扩展仓库?这个仓库只是收集了那些比 Spring Integration 核心更新速度更快,或者仍在完善中的适配器。它是寻找各种问题解决方案的好地方。甚至拉取请求里也充满了有用的东西——我看到一个由杰出的 Gary Russell 贡献的 MQTT 适配器!
  12. 请查看 @gopivotal 博客上这篇精彩文章 每分钟 80 万条消息:诺基亚 HERE 如何使用 #RabbitMQ 创建实时交通地图。文章介绍了构建在 Spring AMQPRabbitMQ 之上的诺基亚 HERE 架构。

Spring Tool Suite 和 Groovy/Grails Tool Suite 3.3.0.M1 发布

发布 | Martin Lippert | 2013 年 4 月 23 日 | ...

尊敬的 Spring 社区,

我很高兴地宣布 Spring Tool Suite (STS) 和 Groovy/Grails Tool Suite (GGTS) 的首个里程碑版本 3.3.0.M1 发布。

此里程碑构建的亮点包括

  • Spring IDE:改进了对 JavaConfig 驱动的 Spring 项目的支持
  • Groovy-Eclipse:现在支持可定制的编辑器模板
  • Groovy-Eclipse:在二进制(编译后的)groovy 文件中的导航和悬停功能
  • Grails-IDE:对当前 Grails 2.3 构建的初步支持

这两个工具套件都基于最新的 Eclipse Juno SR2 版本。为了获得最佳性能和稳定性,我们仍然推荐基于 Eclipse 3.8.2 的发行版本。

第二个里程碑版本 3.3.0.M2 计划于 2013 年 6 月初构建,随后是 2013 年 7 月初的 3.3.0 正式发布——紧随 Eclipse Kepler 发布之后。

要下载这些发行版本,请访问

详细的新特性和重要说明可以在这里找到:STS/GGTS 3.3.0.M1 新特性和重要说明

祝您使用愉快!

本周 Spring - 2013 年 4 月 23 日

工程 | Josh Long | 2013 年 4 月 23 日 | ...

欢迎回到另一期《本周 Spring》!在旧金山,我们正在经历春季特有的生机勃勃和美丽天气。这也很应景,因为 Pivotal 的开源社区——包括 Cloud FoundrySpringSource——正忙碌异常,朝着 Pivotal Initiative 于 4 月 24 日的发布迈进。届时见!

闲话少说,让我们进入本周的汇总

  1. 各位有没有看过 Spring Batch 2.2.0.RC1 中惊人的 Java 配置支持?我刚刚给您链接的代码演示了一个完整的 Spring Batch 工作,它读取一个 .csv 文件,然后将记录写入数据源,所有这些都在类中完全用 Java 配置。这展示了 2.2.0 中的 @EnableBatchProcessing 注解。去看看吧
  2. SpringOne2GX 新增重播现已在 YouTube 上提供高清版本:使用 Spring 和 vFabric 实现领域驱动设计Cloud Foundry 上的批处理和集成,以及一个额外会议:理解 Java 垃圾回收以及如何应对
  3. FuzzyDB 开源项目 在推特上表示,他们已经发布了新版本的 FuzzyDB,其 Spring Data 绑定与 Spring Data Arora 发布系列对齐。恭喜各位!
  4. 您是否有机会体验过 Thymeleaf,这款 HTML5 和 Spring MVC 友好的模板引擎?如果您想学习更多,您可能会喜欢这个名为 Thymeleaf,能否融合? 的演示文稿。
  5. David Welch 整理了一个 Spring Data Mongo 的快速演示 并分享了成果。他发推文说,他仅用了 4 个类和一个 pom.xml 文件,在 8 分钟内就完成了可运行的演示。干得好!
  6. 请在 SpringSource YouTube 频道 SpringSourceDev 上观看 Ramnivas Laddad 在 SpringOne2GX 上关于 CloudFoundry 架构 的精彩演讲。
  7. Spring HATEOAS 负责人 Oliver Gierke 在推特上分享了这篇文章的链接:我如何向我妻子解释 REST。这篇文章乍看起来只是一个人试图向没有相同技术背景的人解释一个相当深入的技术概念,但很快就变成了一个(我认为非常有见地的)关于 REST 适用性的探讨。如果您想将您的 REST 技能提升到新的水平,请查看 Spring HATEOAS
  8. 我个人非常喜欢新的 Java 配置 API,包括最近发布的和当前在预览版本中可用的。上面我展示了一个 Spring Batch API 的非常简单的示例。上周我还花了一点时间写了关于功能强大的 Spring Social Java 配置 API,它即将发布在 1.1.0.M2 版本中。
  9. 您可以使用 @Required 注解 让 Spring 执行一种预条件检查,以在运行时强制要求属性满足非 null 值,否则 Spring 将中止对象的构造。这有助于避免任何静默的 NullPointerException。这篇 JavaBeat 文章 很好地解释了如何使用 @Required
  10. how to do in java 博客有一篇不错的文章,介绍了如何在 Spring Security 3 中创建自定义 UserDetailsService
  11. JavaCodeGeeks 博客有一篇不错的文章,介绍了如何使用 Spring MVC 创建 RESTful 服务
  12. Brian's Java Blog 有一篇不错的文章,介绍了如何在 Spring AOP 中同时使用注解和基于 XML 的配置选项。

介绍 Spring XD

工程 | Mark Fisher | 2013 年 4 月 23 日 | ...

今天,我们正式启动一项新的倡议,名为 Spring XD,其主题是“解决大数据复杂性”1

在过去几年里,Spring Data 团队异常忙碌,不仅提供了对 NoSQL 数据存储的支持,还简化了 Hadoop 的开发体验。通过创建 Spring for Apache Hadoop 项目,我们通过提供丰富的配置模型和在 Hive 和 Pig 等 Hadoop 生态系统项目中的一致编程模型,使得开始开发 Hadoop 应用变得更容易。正如 Spring 用户所期望的,用户可以

  1. 将 MapReduce 作业配置并作为容器管理对象运行。
  2. 使用 HDFS、HBase、Pig 和 Hive 的模板 helper 类,以消除应用程序中的样板代码。

Spring…

本周 Spring - 2013 年 4 月 16 日

工程 | Josh Long | 2013 年 4 月 16 日 | ...

欢迎来到另一期《本周 Spring》!对于 Pivotal 来说,这是令人兴奋的一周,您可以在 4 月 24 日重新安排的 Pivotal 发布活动上了解更多信息。

  1. 如果您读得太快,请注意 Pivotal 已将发布活动重新安排到 4 月 24 日。请在此处注册
  2. Arjen Poutsma 已宣布 Spring Web Services 2.1.3.RELEASE 发布。新版本主要包含 bug 修复,完整详情请查看更新日志
  3. 不要错过即将举行的由 Donald Miner 和 Mark Pollack 主讲的网络研讨会 Pivotal HD 和 Spring Hadoop,这是一个很好的入门网络研讨会,适合对 Pivotal HD 感兴趣的人。
  4. SpringOne2GX 新增重播现已在 YouTube 上提供高清版本:Cloud Foundry 架构NewSQL 中的有效设计模式
  5. 前几天 Reddit 上有一篇很棒的文章,用 Martin Lawrence 来解释 REST 和 SOAP 之间的区别。这与 Spring 无关,但足够幽默,值得分享。
      Spring, of course, has an amazing REST stack and I highly encourage people to check out how to build consolidated, streamlined REST services with Spring! Moving on... :) 
    
  6. James Rossiter 写了一篇不错的文章,介绍了如何使用 Spring 的 InitBinder 来解决 Spring MVC 中 POST 到控制器操作时的类型不匹配和绑定异常。
  7. @olivergierke 在 Twitter 上提出了一个很棒的观点:将 JTA 1.2 JSR javax.transaction.Transactional 注解添加到 Spring 需要多少代码?几乎没有!这里的大部分代码都只是单元测试。除此之外,这只是一个简单的 JTA 注解到 Spring 已支持引擎的映射,该引擎目前也支持原生的 Spring @Transactional@javax.ejb.TransactionAttribute 注解。
  8. 您是否正在了解 Gradle,并想快速开始使用 Spring?Giancarlo Frison 整理了一篇不错的文章,其中包含一个可用于 Spring 应用的引导 Gradle 构建
  9. Eugen Paraschiv 写了一篇不错的文章,介绍了如何使用 RestTemplate 进行 HTTP 基本认证
  10. Spring 长期以来一直支持一个名为 org.springframework.util.StopWatch 的工具类,它可用于测量方法调用的执行时间。Javarevisited 博客有
      <a href="http://www.stumbleupon.com/su/1rKtfP/javarevisited.blogspot.com.au/2012/04/how-to-measure-elapsed-execution-time.html">nice post on how to use the <CODE>StopWatch</code> class</a>.
    </LI>
    
  11. 这篇文章有点旧了,但我刚偶然发现它,认为它是一个经过深思熟虑的 Spring 中面向切面编程 (AOP) 的入门演示文稿

Spring Batch 2.2.0 RC1 现已发布

发布 | Michael Minella | 2013 年 4 月 9 日 | ...

我们很高兴地宣布 Spring Batch 2.2.0.RC1 现已通过 SpringSource Milestone 仓库发布。Spring Batch 主页 | GitHub 源代码 | 参考文档

支持 Spring Data

Spring Data 是旨在简化使用 NoSQL 数据库等新型数据访问技术构建 Spring 应用的项目集合。基于公开 Repository 对象模型,Spring Data 允许应用以简单一致的方式跨越许多新平台访问数据。Spring Batch 2.2.0.RC1 现在为 Spring Data 支持的多种数据存储(包括 MongoDB、Neo4j 和 Gemfire(仅写入))提供了 ItemReaderItemWriter 实现。此外,Spring Batch 2.2.0.RC1 现在还有一个 RepositoryItemReaderRepositoryItemWriter,它们可以从自定义 Spring Data Repository 实现中读取和写入项目。

Java 配置

通过此版本,Spring Batch 2.2.0.RC1 现在支持基于 Java 的作业定义。现在可以通过新的 @EnableBatchProcessing 注解和一组构建器来构建基于 Java 配置的作业定义,这些构建器允许您构造作业、步骤、流程、分割等。通过使用 @EnableBatchProcessing 注解,以下功能被启用:
  • 创建 StepScope - 允许通过 @Scope("step") 配置 bean
  • @Autowired - JobRepositoryJobLauncherJobRegistryPlatformTransactionManagerJobBuilderFactoryStepBuilderFactory 都可用于自动注入到您的上下文中。

非标识性作业参数

Spring Batch 2.2.0.RC1 现在支持使用不影响 JobInstance 标识生成的作业参数。作为此更新的一部分,JobParameters 不再与 JobInstance 关联,而是与 JobExecution 关联。为了支持这一更改,作业仓库模式已更新,并提供了迁移脚本。您可以在入门指南中阅读有关迁移脚本的详细信息。

其他改进和 Bug 修复

随着 Spring Batch 2.2.0.RC1 的发布,还添加了许多其他改进和 bug 修复。此版本的更新完整列表可以在此修订版的更新日志中找到。

链接

Spring Batch 主页 | GitHub 源代码 | 参考文档

SpringOne 2GX 2012 重播:虚拟化和调优大规模 Java 应用,从 Spring 和 Java 到 Spring 和 Akka

新闻 | Pieter Humphrey | 2013 年 4 月 9 日 | ...

虚拟化和调优大规模 Java 应用

本次会议分享了许多在 vSphere 上运行 Java 的生产验证方法。内容包括如何为大规模部署调整 JVM 和 VM 的大小。会议将有一个关于 GC 调优的特别部分,并展示如何使用我在过去 15 年的实际现场调优 JVM 经验中开发的 GC 配方来调优各种 JVM。

本次会议讨论了三个关键趋势和相关的调优技术。关键趋势是:整合、弹性和灵活性,以及性能

整合 我们的许多客户发现他们的中间件部署已经扩散,并正在成为与更高成本相关的管理挑战。我们看到一个趋势,客户将虚拟化视为减少服务器实例数量的一种方式。同时,客户正利用整合机会来合理化服务特定负载所需的中间件组件数量。中间件组件最常运行在 Java 虚拟机 (JVM) 中,观察到的规模从 100 到 1000 个 JVM 实例不等,并提供了许多整合 JVM 实例的机会。因此,中间件虚拟化提供了两次整合的机会——第一次整合服务器实例,第二次整合 JVM 实例。这一趋势影响深远,因为地球上的每个 IT 部门都在考虑整合的成本节约。一家酒店行业的客户经历了整合其服务器足迹的过程,同时整合了许多小于 1GB 堆的较小 JVM。他们将许多这些较小的 1GB JVM 整合成了两类,一类是 4GB,另一类是 6GB。他们以这样的方式进行整合,即应用可用的总 RAM 量等于原始 RAM 量,但 JVM 实例数量更少。他们完成了所有这些工作,同时提高了性能并保持了良好的 SLA。由于他们必须管理的 JVM 实例数量减少,以及经过改进的环境有助于轻松实现 SLA,他们还大大降低了管理成本。
另一家保险行业的客户能够实现与上述客户相同的目标,此外还能够在开发和 QA 环境中过度承诺 CPU,以节省第三方软件许可成本。另一方面,有时我们也会遇到一些客户,他们有合理的业务需求,要求一个应用程序维护一个 JVM,和/或一个业务线维护一个 JVM。在这些情况下,您无法真正整合 JVM 实例,因为那会导致一个业务线应用程序的生命周期与另一个业务线应用程序的生命周期相互混合。然而,虽然这些客户无法通过 JVM 整合消除额外的 JVM 实例而受益,但他们确实受益于更充分地利用服务器硬件上可用的计算资源,这些资源在非虚拟化环境中本来会被低估利用。

弹性和灵活性 应用程序具有季节性需求的情况越来越普遍。例如,我们的许多客户运行各种营销活动,从而导致其应用程序出现季节性流量高峰。借助 VMware,您可以通过在需要时自动配置新的虚拟机和中间件组件来应对这种流量突增,然后在负载减轻时自动销毁这些虚拟机。此外,在不中断服务的情况下更改更新/修补硬件对于支持云时代规模和正常运行时间的中间件至关重要。VMware VMotion 使您能够在不停止应用程序或虚拟机的情况下移动虚拟机。仅此灵活性就使得在管理大规模中间件部署时,中间件虚拟化变得非常有价值。一家金融领域的客户每天处理数百万笔交易,他们经常使用 VMotion 来安排硬件升级,而无需任何停机时间。否则,这对他们的业务来说将是代价高昂的计划停机。

性能 客户经常报告虚拟化后中间件平台的性能得到改善。性能改进部分归因于客户在虚拟化项目期间通常会更新的硬件。稳健的 VMware hypervisor 也带来了一些性能提升。一位近期报告性能大幅提升的客户提供了以下证词

“通过我们的 OrderExpress 项目,我们升级了中间件服务、商业、门户、WCM、服务层、DB2 数据库;从 AIX 迁移到 Linux;在 VMware 上进行虚拟化;将应用程序移至三层 DMZ;将交易量提高了 150% 以上;并增加了显著的新功能,极大地改善了客户体验。一次性更改如此广泛的技术组件是一个巨大的挑战。然而,使用 VMware vSphere 和额外的架构更改,我们成功地将性能提高了 300% 以上;将成本降低了数百万;提高了安全性、可用性和可扩展性;并且我们计划继续发展此应用程序,以保持每年超过 30% 的增长。”

– Jeff Battisti,Cardinal Health 高级企业架构师

在此会议中,我将展示一些适用于小型和大型 JVM 的中间件组件的实际 JVM 和 VM 大小。我还将详细介绍我多年来开发的 GC 调优配方,该配方已被证明可以处理从 4GB 到 88GB+ 甚至更高的 JVM 堆大小。当然,内存数据库的引入推动了使用这些更大 JVM 的趋势,因此我们将讨论如何最佳地调优 JVM、VM 以及它们部署的硬件平台。

我认为大小调整问题是我们客户群中最常见的问题,因此我计划在会议期间重点讨论它。



关于讲者

Emad Benjamin

Emad Benjamin

Emad Benjamin 在 IT 行业拥有二十年的经验。他毕业于伍伦贡大学,获得电气工程学士学位。在他职业生涯早期,他是一名 C++ 软件工程师,1997年转为使用 Java 编程,并一直专注于 Java。在过去的七年里,他专注于 VMware vSphere、vFabric GemFire 和 SQLFire 上的 Java。Emad 自 2005 年以来一直在 VMware 工作,并且是《Enterprise Java Applications Architecture on VMware》一书的作者。Emad 曾在 VMworld、SpringOne 和 Open World 大会上就 Java 虚拟化主题进行过演讲。

了解更多关于 Emad »



 

从 Spring + Java 到 Spring + Akka - 探索之旅

基于 Actor 的并发模型是一种范式转变。什么是范式转变?

科学现有理论中基本假设或范式的改变。范式转变使得简单的想法变得难以理解。尽管 Actor 模型是一个简单而具有革命性的想法,但程序员很难看到实际的好处和用法。同样,Scala 编程语言在简化基于 Actor 的设计方面带来了很多优势,但也带来了一种新的编码风格。解决这个问题的一种可能方案是根据旧范式来评估新范式。在本次演讲中,我们将以一个基于 Spring 的工作 Web 应用程序为例,逐步使用 Actor 和 Scala 来实现它。我们将对新想法持怀疑和审慎的态度,但同时保持开放的心态。我们将利用 Spring 的知识来学习基于 Actor 的并发模型。同时,我们将学习 Actor、Scala 的最佳实践,以及如何将它们与 Spring 框架结合使用。



关于讲师

Nilanjan Raychaudhuri

Nilanjan Raychaudhuri

Nilanjan 是 Typesafe 的一名顾问和培训师。他于 2000 年以软件开发人员的身份开始了职业生涯,当时使用的是面向对象编程语言。Nilanjan 曾与 IBM、ThoughtWorks 和 LivingSocial 合作,在那里他积累了丰富的 Java/JEE、Ruby、Groovy 以及 Scala 软件解决方案管理和开发经验。自从接触到这门优美的语言后,他一直热衷于使用 Scala 进行编程。目前,他利用业余时间从事 scala-webmachine 开源项目(RESTful 资源框架)的工作。过去,Nilanjan 曾参与其他开源项目和库的开发。在 Typesafe,他主要负责 Scala 和 Play 课程的教学和设计,并帮助客户采用这些技术。Nilanjan 喜欢通过在各种会议上发表演讲来分享经验。他也是《Scala in Action》一书的作者。

了解更多关于 Nilanjan »

Josh Suereth

Josh Suereth 是 Typesafe 的高级软件工程师,也是《Scala In Depth》一书的作者。自从 2007 年了解了这门优美的语言后,他一直都是 Scala 的爱好者。他于 2004 年以软件开发人员的身份开始了职业生涯,最初接触的是 C++、STL 和 Boost。大约在同一时期,Java 热潮正在蔓延,他的兴趣转向了基于 Web 的分布式 Java 交付解决方案,旨在帮助卫生部门发现疾病爆发——涉及 EJB、Hibernate/Spring 甚至一些 Applet。他于 2007 年首次将 Scala 引入公司代码库,此后不久他就被 Scala 热潮感染,开始为 Scala IDE、maven-Scala-plugin 和 Scala 本身做出贡献。2009 年,他开始撰写《Scala In Depth》一书,该书为在日常应用程序中使用 Scala 提供了实用支持。如今,Josh 是几个开源 Scala 项目的作者,包括 Scala 自动化资源管理库、PGP sbt 插件,并为 Scala 生态系统中的关键组件(如 maven-Scala-plugin)做出贡献。他在 Typesafe Inc. 目前的工作包括构建 MSI 安装程序到分析性能问题。Josh 定期通过文章和演讲分享他的专业知识。

了解更多关于 Josh »





本周 Spring 要闻 - 2013 年 4 月 9 日

工程 | Josh Long | 2013 年 4 月 9 日 | ...

欢迎来到新一期的 本周 Spring 要闻!像往常一样,我们有 很多 内容要介绍,所以让我们开始吧!

  1. SpringSource 首席技术官 Adrian Colyer 概述了 SpringSource 和 Spring 项目在 Pivotal Initiative(一家从 EMC 拆分出来的新公司,由 SpringSource、Cloud Foundry 和 GreenPlum 等组成)下的发展方向和势头。如果你想了解 Spring 在这项新举措中的——嗯哼——关键(Pivotal)作用,这绝对值得一读!
    </LI>  
    <LI> Spring Batch lead Michael Minella has <A href="http://www.springsource.org/node/9666"> announced that Spring Batch 2.2.0.RC1 is now available</a>.
    	The new release includes preliminary support for Spring Data, Java configuration support, non-identifying job parameters 
    	and numerous fixes and polishes. This release is amazing, and definitely worth a look. I, personally, <EM>love</EM> the Java configuration API that's
    	been surfaced. You don't need to write another…

Spring Mobile 1.1.0.M3 发布

发布 | Roy Clarkson | 2013 年 4 月 5 日 | ...

尊敬的 Spring 社区,

我们很高兴地宣布 Spring Mobile 1.1.0.M3 发布!

Spring Mobile 提供了 Spring MVC 的扩展,有助于开发跨平台移动 Web 应用程序。

此版本在使用 SiteSwitcherHandlerInterceptor 的自定义域策略时,增加了更简单的配置。现在 Kindle Fire 设备会根据所处模式检测为平板电脑或移动设备。此外,此版本还解决了几个问题。此版本基于 Spring Framework 3.2.2 构建和测试。更多信息请参阅更新日志参考手册。非常感谢社区的持续反馈和支持,帮助改进 Spring Mobile。

要获取软件,请下载发行版分发包,或将 maven artifact 添加到您的项目中。示例应用程序可在 github.com/SpringSource/spring-mobile-samples 获取。

如果您正在构建移动 Web 应用程序,我们鼓励您试用 Spring Mobile 1.1.0.M3,并与我们协作项目的下一次迭代。

获取 Spring 新闻通讯

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

订阅

先行一步

VMware 提供培训和认证,助您快速前进。

了解更多

获取支持

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

了解更多

即将发生的活动

查看 Spring 社区所有即将发生的活动。

查看全部