Can anyone tell me what's new in Spring 3, and the difference between the two (Spring 2.5 and Spring 3)?
See here what's new in Spring 3.0.
Here are some excerpts from the New Features and Improvements page in Spring 3.0 with links to related technologies:
All framework code has been redesigned to take advantage of Java 5 such as generics , varargs, and another enhancement language. We did our best to keep the code backward compatible. Now we are consistently using shared Collections and Maps , sequentially using shared FactoryBeans , and sequentially resolving bridge methods in the Spring AOP API . Generic ApplicationListeners automatically receives a specific event only types. All callback interfaces such as TransactionCallback and HibernateCallback declare a common result value. In general, Spring's core code base is now updated and optimized for Java 5.Spring TaskExecutor abstraction has been updated to close integration with Java 5 java.util.concurrent . 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 much as possible. Moreover, we support asynchronous method calls by using the new @Async annotation (or EJB 3.1 @ Asynchronous annotations).
All framework code has been redesigned to take advantage of Java 5 such as generics , varargs, and another enhancement language. We did our best to keep the code backward compatible. Now we are consistently using shared Collections and Maps , sequentially using shared FactoryBeans , and sequentially resolving bridge methods in the Spring AOP API . Generic ApplicationListeners automatically receives a specific event only types. All callback interfaces such as TransactionCallback and HibernateCallback declare a common result value. In general, Spring's core code base is now updated and optimized for Java 5.
Spring TaskExecutor abstraction has been updated to close integration with Java 5 java.util.concurrent . 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 much as possible. Moreover, we support asynchronous method calls by using the new @Async annotation (or EJB 3.1 @ Asynchronous annotations).
This is a list of new features for Spring 3.0. We will cover these in more detail later in this section.Spring Expression LanguageIoC improvements / Java based on bean metadataUniversal type conversion system and field formatting systemFeature Matching with XML (OXM) Moved from SpringWeb ServicesComprehensive REST Support@ MVC AdditionsDeclarative model checkEarly support for Java EE 6Native database support
This is a list of new features for Spring 3.0. We will cover these in more detail later in this section.
Check http://www.infoq.com/presentations/Whats-New-in-Spring-3.0