Spring Framework 3.0 RC3 released

We decided to publish a further Spring 3.0 release candidate before going GA: Get it from the download page, do a round of thorough testing, and let us know how it works for you. Spring 3.0 is now waiting for your integration test feedback and will eventually go GA in mid December.
This release candidate comes with several enhancements: e.g. extended functionality in the new <mvc:*> namespace, and a further revision of startup/shutdown behavior (affecting message listeners and scheduled tasks). Feel free to give those features an early try! We are also keen to learn about upgrade experiences with existing Spring 2.5 applications since we expect many of your applications to selectively adopt 3.0 features… while keeping the majority of the code in its 2.5 shape for the time being.
Compatibility with third-party frameworks and libraries is an important goal as well. Most of your existing libraries should keep working without even requiring an upgrade. We are however raising the bar in terms of the required version in several cases: For example, Spring 3.0 requires Hibernate 3.2 or above now, with explicit support for Hibernate 3.3 and also for Hibernate 3.5 beta already. For a further example, Spring 3.0 requires Tiles 2.1 now, with no support for Tiles 2.0 anymore. We generally recommend using the latest production version of such third-party libraries but as in the case of Hibernate, we keep supporting older versions that remain commonly used.
On the occasion, since there has been confusion about this before: The Spring 3.0 codebase is entirely based on Java SE 5 (JDK 1.5) and Java 5 language features now, but at the same time, Spring 3.0 is fully compatible with J2EE 1.4 servers as well as Java EE 5 servers and provides early support for Java EE 6 already. In particular, you may run Spring 3.0 based applications on the likes of Tomcat 5.5 and WebSphere 6.1, with the full Spring 3.0 feature set available on those established J2EE 1.4 generation platforms (which fortunately run on JDK 1.5 underneath). You might even add a brand-new JPA 2.0 provider to that combo… Make the best of what you got.
Finally, building on Spring 3.0 and on this release candidate in particular, we got a whole series of project releases coming: for example, new major versions of Grails, ROO, dm Server, Spring Security, Spring Batch, and Spring Integration. Watch this space!
Similar Posts
- Spring Framework 3.0.1 released
- Bundlor 1.0.0.RC1 Available
- ASM version incompatibilities, using Spring @Autowired with Hibernate
- Spring Framework 2.1 turns into Spring Framework 2.5!
- Spring Framework 3.0 RC1 released











Bill Comer says:
Added on December 2nd, 2009 at 5:20 amI am confused about the java5 & java 1.4 dependency.
your post on RC1 appears to say that it needs 5 or higher,
yet this post appears to say that 1.4 is OK.
I have also been repeatedly told at Spring talks that it requires Java5.
Please can you further clarify.
Juergen Hoeller (blog author) says:
Added on December 2nd, 2009 at 7:42 amIndeed, Spring 3.0 requires Java SE 5 (JDK 1.5) or above as the fundamental Java runtime but is at the same time compatible with Java EE (J2EE) 1.4 and above, as long as the J2EE server is running on Java SE 5. That's for example the case with WebSphere 6.1: formally a J2EE 1.4 server but running on IBM's JDK 1.5. It's also the case with Tomcat 5.5 which is typically running on JDK 1.5 too.
I guess I wasn't as clear as I should have been in the main post; I'll update it accordingly.
Tetsuo says:
Added on December 2nd, 2009 at 8:36 amWhat about WebFlow, will it get updated in a near future? Does it have to be updated to use the new features?
shit says:
Added on December 3rd, 2009 at 2:39 amgood
Pavel Muller says:
Added on December 3rd, 2009 at 3:37 amHello,
I'm migrating our project to Spring 3.0. Most of the issues is resolved but one of them not.
We used to create our own custom DataBinder in a AnnotationMethodHandlerAdapter subclass. We used to override the createBinder() method and created our own DataBinder implementation there.
How to achieve the same in Spring 3.0. The createBinder() method disappeared.
Thank you.
Pavel Muller
AspectWorks
xiaohng says:
Added on December 3rd, 2009 at 9:32 amI agree with the comment about the databinder.Without a way to create and use your own databinder implementation, the framework should provide enough hooks to invoke custom code, e.g. preBind, postBind handlers. Currently, We have a usecase where we need to do minimal default data validation against raw http input before the binding takes place. A preBind handler registable with the databinderinitializer. will meet the need.
Pavel Muller says:
Added on December 3rd, 2009 at 11:56 amExactly. One of the features except convenience methods in our DataBinder was advanced handling of empty values. You need a WebDataBinder subclass for this and Spring 3.0 does not provide hooks to create custom data binders.
Thinking Song says:
Added on December 7th, 2009 at 4:05 amI very much look forward to the release of Spring3.0 as soon as early