Spring 3: What's new ?

So even if Java 6 offers an implementation of the Dependency Injection and Inversion of Control paradygms, the Spring addicted developers will still use it for all the other features it offers.

 Spring, the well-known J2EE framework, has recently come out with its latest version, Spring 3.  So, what's the scoop and why should Java developers be excited about this latest release?

To  summarise, the new Spring version is going one step forward in the ease of development with the enhanced use of annotations and the integration of SpEL to make our configurations dynamic, based on growing technologies such as REST and ongoing standards like JPA 2.0.

Spring 3 adds some features that will help us in some situations where we were stuck in  previous versions, using the dynamic configuration offered by SpEL. But more importantly, this release seems to focus on REST, which is increasingly becoming the way to build web services. And the good news is that you will find it familiar to use, as it is an extension of the Spring-MVC annotations, specialised for REST resource mapping but with the same basis and concepts.

So even if Java 6 offers an implementation of the Dependency Injection and Inversion of Control paradygms, the Spring addicted developers will still use it for all the other features it offers.

Below you'll find the requirements and features of Spring 3:

Spring 3.0 system requirements are Java SE 1.5 or above, Servlet 2.4 (ex: Tomcat 5 or above).

The main new features of this version are (the list may not be comprehensive):

  • Early Java EE 6 support: JPA 2.0 (JSR-317), JSF 2.0, JSR-303 Bean Validation (full support of Java EE 6 announced for Spring 3.1)
  • SpEL: Spring Expression language: in bean definitions and component annotations
  • Comprehensive support for annotations
    • JSR-250 (@ManagedBean) and enhanced JSR-330 support
    • Stereotype model and meta-annotations
    • Spring JavaConfig: annoted factory methods, configuration classes
    • Enhanced formatting and binding
    • Extended annotation-based components, including use of SpEL in static (${}) and dynamic (#{}) placehorlders
  • MVC features:
    • REST (JAX-RS: JSR-311) support
    • Annotation driven validators (JSR-303)

  • OXM: Object/XML mapping
  • Scheduling including @Async and @Scheduled annotations support
  • Portlet 2.0 support

Spring 3.0 is retro compatible with Spring 2.5

Some features have been pruned or deprecated

  • TopLink API support (pruned)
  • Commons attributes (pruned)
  • JUnit 3.8 support
  • MVC Controller hierarchy
  • Struts 1.x support


Resources:

Digital news!

Are you as digitally addicted as we are? We can supply you with a regular dose of digital news. Simply sign-up, or click to Follow us online.

About the author

Jacques Desmazières
Jacques Desmazières

J2EE/Java senior consultant. Expert in Software architecture and technical design, and involved in the b-i quality commitee. Before working for blue-infinity he was the technical director of a banking software editor on the French Riviera and also spend some years as a system integration consultant.