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
- MVC features:
- 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