You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
242 lines
7.3 KiB
242 lines
7.3 KiB
<?xml version="1.0" encoding="UTF-8"?> |
|
<chapter id="new-in-3"> |
|
<title>What's new in Spring 3.0?</title> |
|
|
|
<para>If you have been using the Spring Framework for some time, you will be |
|
aware that Spring has undergone two major revisions: Spring 2.0, released in |
|
October 2006, and Spring 2.5, released in November 2007. It is now time for |
|
a third overhaul resulting in Spring 3.0.</para> |
|
|
|
<sidebar id="new-in-3-intro-java"> |
|
<title>Java SE and Java EE Support</title> |
|
|
|
<para>The Spring Framework is now based on Java 5 and Java 6 is fully |
|
supported.</para> |
|
|
|
<para>Furthermore, Spring is compatible with J2EE 1.4 and Java EE 5, while |
|
at the same time introducing some early support for Java EE 6.</para> |
|
</sidebar> |
|
|
|
<section id="new-in-3-intro"> |
|
<title>Java 5</title> |
|
|
|
<para>The entire framework code has been revised to take advantage of Java |
|
5 features like generics, varargs and other language improvements. We have |
|
done our best to still keep the code backwards compatible. We now have |
|
consistent use of generic Collections and Maps, consistent use of |
|
generified FactoryBeans, and also consistent resolution of bridge methods |
|
in the Spring AOP API. Generified ApplicationListeners automatically |
|
receive specific event types only. All callback interfaces such as |
|
TransactionCallback and HibernateCallback declare a generic result value |
|
now. Overall, the Spring core codebase is now freshly revised and |
|
optimized for Java 5.</para> |
|
|
|
<para>Spring's TaskExecutor abstraction has been updated for close |
|
integration with Java 5's java.util.concurrent facilities. We provide |
|
first-class support for Callables and Futures now, as well as |
|
ExecutorService adapters, ThreadFactory integration, etc. This has been |
|
aligned with JSR-236 (Concurrency Utilities for Java EE 6) as far as |
|
possible. Furthermore, we provide support for asynchronous method |
|
invocations through the use of the new @Async annotation (or EJB 3.1's |
|
@Asynchronous annotation).</para> |
|
</section> |
|
|
|
<section id="new-in-3-improved-docs"> |
|
<title>Improved documentation</title> |
|
|
|
<sidebar id="new-in-3-intro-work-in-progress"> |
|
<title>Note:</title> |
|
|
|
<para>The current documentation is a <emphasis>*** WORK IN PROGRESS |
|
***</emphasis> and is currently being re-written to reflect all the |
|
changes in the framework and from now relying on Java 5 features.</para> |
|
</sidebar> |
|
|
|
<para>The Spring reference documentation has also substantially been |
|
updated to reflect all of the changes and new features for Spring 3.0. |
|
While every effort has been made to ensure that there are no errors in |
|
this documentation, some errors may nevertheless have crept in. If you do |
|
spot any typos or even more serious errors, and you can spare a few cycles |
|
during lunch, please do bring the error to the attention of the Spring |
|
team by <ulink url="http://jira.springframework.org/">raising an |
|
issue</ulink>.</para> |
|
</section> |
|
|
|
<section id="new-in-3-modules-build"> |
|
<title>New module organization and build system</title> |
|
|
|
<para>The framework modules have been revised and are now managed |
|
separately with one source-tree per module jar:</para> |
|
|
|
<itemizedlist> |
|
<listitem> |
|
<para>org.springframework.aop</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.beans</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.context</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.context.support</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.expression</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.instrument</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.jdbc</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.jms</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.orm</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.oxm</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.test</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.transaction</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.web</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.web.portlet</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>org.springframework.web.servlet</para> |
|
</listitem> |
|
</itemizedlist> |
|
|
|
<sidebar id="new-in-3-intro-spring-jar"> |
|
<title>Note:</title> |
|
|
|
<para>The spring.jar artifact that contained almost the entire framework |
|
is no longer provided.</para> |
|
</sidebar> |
|
|
|
<para>We are now using a new Spring build system as known from Spring Web |
|
Flow 2.0. This gives us:</para> |
|
|
|
<itemizedlist> |
|
<listitem> |
|
<para>Ivy-based "Spring Build" system</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>consistent deployment procedure</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>consistent dependency management</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>consistent generation of OSGi manifests</para> |
|
</listitem> |
|
</itemizedlist> |
|
</section> |
|
|
|
<section id="new-in-3-features-overview"> |
|
<title>Overview of new features</title> |
|
|
|
<para>This is a list of new features for Spring 3.0. We will cover these |
|
features in more detail in the following sections.</para> |
|
|
|
<itemizedlist> |
|
<listitem> |
|
<para>Spring Expression Language</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>IoC enhancements</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>Comprehensive REST support</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>@MVC additions</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>Declarative model validation</para> |
|
</listitem> |
|
|
|
<listitem> |
|
<para>Early support for Java EE 6</para> |
|
</listitem> |
|
</itemizedlist> |
|
</section> |
|
|
|
<section id="new-feature-el"> |
|
<title>Spring Expression Language</title> |
|
|
|
<para>Spring introduces an expression language which is similar to Unified |
|
EL in its syntax but offers significantly more features. The expression |
|
language can be used when defining XML and Annotation based bean |
|
definitions and also serves as the foundation for expression language |
|
support across the Spring portfolio. Details of this new functionality can |
|
be found in the chapter <link linkend="expressions">Spring Expression |
|
Language (SpEL).</link></para> |
|
</section> |
|
|
|
<section id="new-feature-java-config"> |
|
<title>The Inversion of Control (IoC) container</title> |
|
|
|
<para>Core JavaConfigfeatures added</para> |
|
</section> |
|
|
|
<section id="new-feature-rest"> |
|
<title>The Web Tier</title> |
|
|
|
<para>Work in progress</para> |
|
|
|
<section> |
|
<title>Comprehensive REST support</title> |
|
|
|
<para>Work in progress</para> |
|
</section> |
|
|
|
<section> |
|
<title>@MVC additions</title> |
|
|
|
<para>Work in progress</para> |
|
</section> |
|
</section> |
|
|
|
<section id="new-feature-validation"> |
|
<title>Declarative model validation</title> |
|
|
|
<para>Hibernate Validator, JSR 303</para> |
|
</section> |
|
|
|
<section id="new-feature-jee-6"> |
|
<title>Early support for Java EE 6</title> |
|
|
|
<para>JSF 2.0, JPA 2.0, etc</para> |
|
</section> |
|
</chapter> |