Spring Framework 3.2 RC1:Spring MVC 测试框架

工程 | Rossen Stoyanchev | 2012年11月12日 | ...

[callout title=更新 2012年12月19日] 最终的 Spring Framework 参考文档包含 迁移指南 以及 完整章节 关于 Spring MVC 测试。[/callout]

上周 Juergen Hoeller 发布了 Spring Framework 3.2 RC1,Sam Brannen 讨论了其 spring-test 模块中令人兴奋的 新增功能,例如对 WebApplicationContext 的支持以及加载上下文层次结构的未来计划。今天我将继续这个话题,并描述另一个令人兴奋的 spring-test 新增功能。在 3.2 RC1 中,我们为测试 Spring MVC 应用提供了第一类支持,包括…

Spring Data JDBC Extensions 1.0 GA 发布,包含 Querydsl 和高级 Oracle 支持

发布 | Thomas Risberg | 2012年11月12日 | ...

亲爱的 Spring 社区:

我们很高兴地宣布 Spring Data JDBC Extensions 项目 1.0 GA 版本现已可用,该版本提供了 Querydsl 和高级 Oracle 数据库支持!

Spring Data JDBC Extensions 项目旨在为特定供应商的 JDBC 扩展以及像 Querydsl 这样使用 JDBC 的新方法提供额外支持。大部分支持代码移植自 SpringSource 项目“Oracle Database高级包”,该项目仅供支持订阅客户使用。我们现在将此代码提供给所有 Spring 用户,并…

Spring Framework 3.2 RC1:新测试特性

工程 | Sam Brannen | 2012年11月7日 | ...

正如 Juergen Hoeller 在其宣布 Spring Framework 3.2 RC1 发布的博文中提到的,Spring 团队在测试支持方面引入了一些令人兴奋的新特性。最重要的是,我们为测试 web 应用添加了第一类支持。[1]

      请注意:这是从我的 Swiftmind 公司博客 交叉发布 的文章。

在本文中,我们将首先了解 Spring Framework 中一些通用的新测试特性,然后详细探讨对使用 WebApplicationContext 进行测试以及 requestsession 作用域 bean 的支持。最后,我们将介绍对 ApplicationContextInitializers 的支持以及对使用应用上下文层次结构进行测试的路线图进行简要讨论。

Rossen Stoyanchev 稍后将跟进发表一篇详细文章,介绍新的 Spring MVC 测试 框架,该框架为测试 Spring MVC 应用提供了第一类支持。因此,请务必保持关注,因为它基于本文后面讨论的基本 web 测试支持。



通用新特性和更新


构建与依赖

spring-test 模块现在基于 JUnit 4.10 和 TestNG 6.5.2 构建并支持它们,并且 spring-test 现在依赖于 junit:junit-dep Maven artifact,而不是 junit:junit,这意味着您可以完全控制对 Hamcrest 库(例如 hamcrest-corehamcrest-all 等)的依赖。

泛型工厂方法

泛型工厂方法 是使用 Java 泛型实现 工厂方法设计模式 的方法。这里是一些泛型工厂方法的示例签名


public static <T> T mock(Class<T> clazz) { ... }

public static <T> T proxy(T obj) { ... }

在 Spring 配置中使用 泛型工厂方法 并非仅限于测试,但像 EasyMock.createMock(MyService.class)Mockito.mock(MyService.class) 这样的泛型工厂方法常用于在测试应用上下文中为 Spring bean 创建动态 mock。例如,在 Spring Framework 3.2 之前,以下配置可能无法将 OrderRepository 自动注入到 OrderService 中。原因在于,取决于应用上下文中 bean 的初始化顺序,Spring 可能会将 orderRepository bean 的类型推断为 java.lang.Object 而不是 com.example.repository.OrderRepository


<beans>

  <!-- OrderService is autowired with OrderRepository -->
  <context:component-scan base-package="com.example.service"/>

  <bean id="orderRepository" class="org.easymock.EasyMock…

本周看 Spring - 2012年11月6日

工程 | Josh Long | 2012年11月6日 | ...

欢迎回到另一期 本周看 Spring!我们有很多内容要涵盖,所以让我们开始吧!

  1. 你们错过了 SpringOne2GX 2012 吗?我不会对你们撒谎——你们 真的 错过了!但是,不要绝望!展会中我最喜欢的两个演讲 现在可以在线观看——主题演讲!两者都很精彩,但如果你正在寻找对下一代 web 应用趋势的精彩介绍,以及对 RabbitMQ 的精彩(太棒了!)之旅,那就看看第二天的 Keynote 吧!
    	More sessions will be posted on that page, so check back often.</LI>
     <LI> Spring 3.2 is drawing ever nearer!   The H  has some 
    	<a href  ="http://www.h-online.com/open/news/item/Spring-Framework-3-2-nears-with-release-candidate-1744277.html">nice coverage of the new features  in the framework</a>.
     </LI>
     <LI> Chris Beams  has announced the latest maintenance release, <A href="http://www.springsource.org/node/3720">Spring 3.1.3 - the third in the 3.1 line, has been released</a>! 
    
  2. 各位,我非常兴奋地告诉你们 SpringOne 要来印度了!现在就注册吧!
  3. 您的 PaaS 支持您的工作负载吗?如果您正在 使用 Cloud Foundry,那么很有可能它支持!
  4. Michael Isvy 写了一篇关于 Spring MVC 和视图层 的好文章。
  5. Spring Framework TestContext 框架现在支持 用于集成测试的 session/request 作用域 bean
  6. Spring Data SOLR 的第一个里程碑版本 已经发布!
  7. Jonathan Brisbin 宣布了 Spring REST Shell 的 1.2 版本发布。新版本特性包括 SSL、基本认证、dotrc 支持、更新的 Homebrew 安装公式、HATEOAS 和超媒体。
  8. 查看 Costin Leau 本周四的 介绍 Spring Data Hadoop 的网络研讨会
  9. RabbitMQ 开发者倡导者 Alvaro Videla 链接到了一篇关于 可视化 RabbitMQ 拓扑结构 的精彩文章。
  10. Spring Data Batch 和 Spring Security OAuth 的专家以及 Cloud Foundry UAA 提交者 David Syer 博士写了一篇 非常精彩的文章,介绍了如何使用 Cloud Foundry 的 UAA 代理 OAuth2 端点。这篇文章与 Spring 的关联不大,但 Syer 博士的文章非常具有教育意义,极大地帮助我理解了 Spring Security OAuth 解决的问题。

Spring Integration 的 Groovy DSL

工程 | David Turanski | 2012年11月6日 | ...

Spring Integration 使用 Spring 编程模型实现了 企业集成模式,以便在基于 Spring 的应用中启用消息传递。Spring Integration 还使用支持 jms、http、amqp、tcp、ftp(s)、smtp 等的声明式适配器提供与外部系统的集成。目前,消息流的配置主要通过 Spring XML 完成,Spring Integration 支持多个命名空间以使其尽可能简洁。今年早些时候,SpringSource 发布了 Spring Integration 的 Scala DSL。现在,我们很高兴地宣布第一个里程碑版本…

Spring Framework 3.2 RC1 发布

工程 | Juergen Hoeller | 2012年11月5日 | ...

亲爱的 Spring 社区,

我很高兴地宣布第一个 Spring Framework 3.2 候选版本现已 可用

核心框架的这一代是继去年 Spring Framework 3.1 之后的一个直接的下一步,延续了几个成熟的主题。Spring Framework 3.2 的主要特性包括

  • 一个新的 基于 Gradle 的框架构建,使得为 GitHub 上的 Spring Framework 项目做贡献比以往任何时候都更容易
  • 内联 CGLIB 3.0 和 ASM 4.0,完全支持 Java 7 字节码,并使得基于 CGLIB 的功能无需显式声明 CGLIB 依赖即可使用
  • 允许将 @Autowired 和 @Value 用作元注解,例如与特定限定符结合使用以构建自定义注入注解
  • 支持在 @Configuration 类中使用自定义 @Bean 定义注解,例如与特定限定符、@Lazy、@Primary 等结合使用
  • Servlet 3.0 上的异步 MVC 处理

本周看 Spring - 2012年10月30日

工程 | Josh Long | 2012年10月31日 | ...

欢迎来到另一期 本周看 Spring

  1. Spring Data GemFire 1.2.1 和 GemFire 7.0 已发布!新的 Spring Data 版本包含了对所有 GemFire 资源配置的完整 Spring XML 命名空间支持,消除了对 GemFire 原生缓存 XML 的需求(缓存 XML 也受支持),以及用于 GemFire 的 Spring Data Repositories。另外值得注意的是,GemFire shell (gfsh) 是使用 Spring Shell 构建的。要了解有关 GemFire 7.0 发布的更多信息,请务必查看该博文,其中链接了发布说明和文档。
  2. 					<LI> Michael Isvy  has put together a nice blog <a href=" http://blog.springsource.org/2012/10/30/spring-mvc-from-jsp-and-tiles-to-thymeleaf/">on moving from JSP and Tiles to Thymeleaf</a>, a new view layer that works particularly well with Spring MVC (and that we have talked about quite a bit in this very roundup for the last few years!).</LI>
    <LI>
    	Spring Security lead Rob Winch has done a nice interview with InfoQ on <A href= "http://www.infoq.com/interviews/robert-winch-spring-security-multi-tenant-applications"> Spring Security  in multi-tenant appications on the cloud</a>  </LI…

Spring Data Solr 第一个里程碑版本发布

发布 | Oliver Drotbohm | 2012年10月31日 | ...

我很高兴宣布 Spring Data Solr 项目的第一个里程碑版本现已可用。这是由 Christoph Strobl 领导的第一个社区驱动的 Spring Data 模块。它本质上是 Spring Data repository API 的一个实现,用于访问 Solr 存储,并提供了与 Spring Data JPA、MongoDB、Neo4j 和 Gemfire 相同您已经习惯的编程模型。除此之外,Spring Data Solr 还提供了一个更底层的 SolrTemplate 以及用于轻松引导嵌入式 Solr 服务器的抽象。

Maven artifacts | JavaDocs | 参考文档 | 更新日志 | JIRA

我们期待社区驱动的 Spring Data 模块实现来支持其他存储。如果您希望看到某个特定存储得到支持并愿意承诺积极维护该项目,请通过论坛与我们联系。

Spring MVC:从 JSP 和 Tiles 到 Thymeleaf

工程 | Michael Isvy | 2012年10月30日 | ...

谈到视图层,Spring @MVC 为您提供了多种选择。在本文中,我们将首先讨论过去几年中最常使用视图层的方式:JSP。我们将看到使用它们的不好和更好的方式(纯 JSP,带自定义标签的 JSPApache Tiles)。

接着,我们将讨论一个名为 Thymeleaf 的新项目,您可以将其用作 JSP 的替代方法。

像往常一样,您可以在 GitHub 上的相应应用 中找到本文讨论的所有代码示例。 

纯 JSP

让我们从以下代码示例开始

<html …> <body>
 <div style="padding-top: 50px;">
   <jsp:include page="../menu.jspx"/>
   <c…

获取 Spring 邮件列表

订阅 Spring 邮件列表

订阅

先人一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部