It is our pleasure to announce that the long-awaited final release of the Spring Framework version 2.0 is now available.
As the leading full-stack Java/Java EE application framework, Spring delivers significant benefits for many projects, reducing development effort and costs while improving test coverage and quality.This stable, production-grade release comes after 9 months of active development. In this short time the Spring 2.x series has matured immensely, benefiting from over 150,000 early access downloads across 9 milestone releases, resulting in over 750 JIRA issues resolved, 50 of which introduce major new features.
We believe three attributes capture what our users can expect from the Spring 2.0 series: Simple, Powerful, and Proven.
Version 2.0 brings major new simplifications to the framework's overall usage model. As our existing users know, the heart of Spring is the Bean Container which drives the configuration of your Java and Java EE application. In version 2.0 many common configuration tasks have been simplified through the introduction of custom Bean Configuration Dialects. What does this mean to you?
This means you can now:
Simplifications continue across the modules of the framework, allowing you to:
- Make your business services transactional in one-line of configuration code.
- Lookup objects from JNDI in one-line of configuration code.
- Expose externalized properties to your services in one line of configuration code.
- Apply consistent exception handling policies to your data access objects with a single annotation.
- Invoke Stateless Remote EJBs by defining a single configuration tag. No more custom service locators or business delegates.
- Write parameterized JDBC queries in one line of code.
- Apply convention over configuration when deploying your Spring MVC controllers.
- Use Spring JSP tags to reduce your typing when developing input forms.
A major goal of Spring 2.0 is to make the common tasks easier. Version 2.0 also opens up exciting new doors for solving the harder problems in an elegant manner. In 2.0 you may:
- Weave custom behavior into multiple points of program execution using AspectJ's concise pointcut expression language.
- Receive asynchronous JMS messages with transactional and thread-safety guarantees. See it live
- Develop your own Bean Configuration Dialect for your application.
- Inject objects from custom scopes such as "request" and "session" scope in a thread-safe manner.
- Invoke Groovy, Beanshell, and JRuby scripts from your Java application.
- Schedule tasks to run asynchronously with sophisticated threading and pooling options.
Version 2.0 builds on the foundation set by Spring 1.x. This new release delivers major new functionality while preserving backwards compatability as far as possible.
With over one million downloads since its release in March 2004, Spring 1.x made developing sophisticated applications from plain Java Objects (POJOs) the de-facto standard. The 2.x series builds on this widely-recognized best-practice to deliver new simplification and power while preserving full compatiblity with the established Spring 1.x series. Users can expect their upgrade to be straightforward; in most cases, simply a matter of replacing the 1.2.8 JAR files with those included in Spring 2.0.
Enjoy, and thank you
Spring 2.0 represents the cumulative effort of many over the last year. From the lead developers Juergen, Rob, Rick, and Costin at Interface21, to our supporting partners BEA and Oracle, to the many in the community contributing innovations, patches, documentation, bug reports, and tests--there is a lot of blood, sweat, and tears here. We truly hope you find this new version as much a joy to use as it was for us to build. Enjoy, and rest assured: the work doesn't stop here.
The Spring Team
- Attend The Spring Experience 2006, the premier conference for the Spring community, December 7th - 10th in Hollywood, Florida. Register by October 16th to secure the early bird discount for your team.
- Track future Spring 2.x development with the Roadmap
- Bookmark this page for the rollout of additional screencasts and code examples showing the new 2.0 features in action.