Does someone can tell me what's new in Spring 3 and the difference to two (Spring 2.5 and Spring 3)?
Spring 4 introduced @RestController which is combination of @Controller + @ResponseBody. So when using @RestController, you do not need to use @ResponseBody. It's optional. Till Spring 3, we would have been using @Controller annotation and in that case it was important to use @ResponseBody annotation as well.
So Spring 4 had to support Java 6, 7 and 8. To maintain the backward compatibility, Spring framework didn't adapted many new features which Java 8 brought with itself e.g. Lambda programming. Spring 5 has baseline version 8, so it uses many new features of Java 8 and 9 as well.
Features. Core technologies: dependency injection, events, resources, i18n, validation, data binding, type conversion, SpEL, AOP. Testing: mock objects, TestContext framework, Spring MVC Test, WebTestClient . Data Access: transactions, DAO support, JDBC, ORM, Marshalling XML.
See here whats new in Spring 3.0.
Here are some excerpts from the page New Features and Enhancements in Spring 3.0 with links to the relevant technologies:
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 generic FactoryBeans, and also consistent resolution of bridge methods in the Spring AOP API. Generic 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.
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).
This is a list of new features for Spring 3.0. We will cover these features in more detail later in this section.
- Spring Expression Language
- IoC enhancements/Java based bean metadata
- General-purpose type conversion system and field formatting system
- Object to XML mapping functionality (OXM) moved from Spring Web Services project
- Comprehensive REST support
- @MVC additions
- Declarative model validation
- Early support for Java EE 6
- Embedded database support
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With