Spring Framework 3.2 RC 1 Released

VMware's SpringSource division this week published the first release candidate (RC1) of the Spring Framework 3.2. Among other things, this version of the popular Java application framework enables loading WebApplicationContexts in the TextContext framework, supports the HTTP PATCH method, allows custom injection annotations, and will be included in the Spring MVC Test project.

"This generation of the core framework is a straightforward next step after last year's Spring Framework 3.1, continuing several well-established themes," Juergen Hoeller, co-founder of the Spring Framework open source project and current project lead, wrote in a blog post.

Version 3.1 was released in December 2011 with several new features, including comprehensive Java-based application configuration; new caching abstraction capabilities; support for bean definition profiles and hierarchical property source management; support for Hibernate 4; Java 7 fork/join; and JDBC 4.1 support. Version 3.0, unveiled in late 2009, was a major upgrade that added full support for RESTful Web services, and the then new Spring Expression Language (SpEL), which is a core parser for bean definitions.

In addition to 42 bug fixes, the Spring Framework 3.2 will include a new framework build based on Gradle, the open source build automation tool, which will simplify contributing to the project on GitHub, Hoeller said. Both the CGLIB code generation library and the ASM Java bytecode manipulation and analysis framework have been inlined in this release. It supports custom @Bean definition annotations and @Configuration classes. And it allows for @Autowired and @Value to be used as meta-annotations.

Including the framework in the Spring MVC Test project, which was a stand-along project, means support for first-class testing of Spring MVC applications. The release will also support asynchronous MVC processing on Servlet 3.0; Spring MVC handler methods will able to return Callables and DeferredResults.

This release also provides early support for the Java Temporary Caching API (JCache) being developed in the Java Community Process under JSR-107. As the JCP explains on its Web site, the JSR aims to specify "API and semantics for temporary, in-memory caching of Java objects, including object creation, shared access, spooling, invalidation, and consistency across JVM's." It will serve as a backend for Spring's cache abstraction

In his blog post, Hoeller also explained that "ongoing delays in Java EE 7 land" will not be holding back the development of core features in the Spring Framework 3.2. Hoeller and company plan on "dealing with EE 7 spec updates" in version 3.3. "In particular, expect full JCache, JPA 2.1, Bean Validation 1.1 and JMS 2.0 support in a timely Spring Framework 3.3 milestone next year," he wrote.

Hoeller said to expect a SpringSource 3.2 general availability (GA) release in late November.

The Spring Framework is a layered Java/J2EE framework based on code published in Rod Johnson's book Expert One-on-One Java EE Design and Development (Wrox Press, October 2002). Johnson, who founded SpringSource, also wrote the first version of the framework. Although SpringSource, which was acquired by virtualization vendor VMware, has been a Java-focused operation, the company has ported its framework to .NET.