Spring 5.0 is the freshest release of Spring available. There are a lot of exciting new features in Spring 5.0, including the following:
- Support for JDK 8 + 9 and Java EE 7 Baseline:
Spring 5 supports Java 8 as a minimum requirement, as the entire framework codebase is based on Java 8.
Spring Framework required at least Java EE 7 to run Spring Framework 5.0 applications. That means it requires Servlet 3.1, JMS 2.0, JPA 2.1.
- Deprecated and removed packages, classes, and methods:
In Spring 5.0, some packages have been either removed or deprecated. It has had a package called mock.static removed from the spring-aspects module, and hence there is no support for AnnotationDrivenStaticEntityMockingControl.
Packages such as web.view.tiles2 and orm.hibernate3/hibernate4 have also been removed as of Spring 5.0. Now, in the latest spring framework, Tiles 3 and Hibernate 5 are being used.
The Spring 5.0 framework doesn't support Portlet, Velocity, JasperReports, XMLBeans, JDO, Guava (and so on) anymore.
Some deprecated classes and methods of earlier versions of Spring have been removed as of Spring 5.0.
- Adding the new reactive programming model:
This model of programming has been introduced in the Spring 5.0 Framework. Let's look at the following listed point about the reactive programming model.
Spring 5 introduced the Spring-core module DataBuffer and encoder/decoder abstractions with non-blocking semantics into the reactive programming model.
Using the reactive model, Spring 5.0 provides the Spring-web module for HTTP message codec implementations with JSON (Jackson) and XML (JAXB) support.
The Spring reactive programming model added a new spring-web-reactive module with reactive support for the @Controller programming model, adapting reactive streams to Servlet 3.1 containers, as well as non-Servlet runtimes, such as Netty and Undertow.
Spring 5.0 also introduced a new WebClient with reactive support on the client side to access services.
As listed here, you can see that there are a lot of exciting new features and enhancements in the Spring Framework 5. So in this book, we will look at many of these new features with examples and their adopted design patterns.