- Spring is a framework for dependency-injection which is a pattern that allows to build very decoupled systems.
- The Spring Framework is divided into modules.
- Applications can choose which modules they need.
- At the heart are the modules of the core container, including a configuration model and a dependency injection mechanism.
- Official Website
- Spring 1 : 2004
- Spring 2 : 2006
- Spring 3 : 2009
- Spring 4 : 2013
- Spring 4.3 : 2016
- Spring 5 : 2017
- The Spring Framework was first released in 2004; since then there have been significant major revisions.
- Spring 2.0 provided XML namespaces and AspectJ support.
- Spring 2.5 embraced annotation-driven configuration.
- Spring 3.0 introduced a strong Java 5+ foundation across the framework codebase, and features such as the Java-based @Configuration model.
- Version 4.0 was first to fully support Java 8 features.
- You can still use Spring with older versions of Java, however, the minimum requirement has now been raised to Java SE 6.
Spring Framework 4.x Changes
- Removed Deprecated Packages and Methods. Here is complete List
- Spring Framework 4.0 provides support for several Java 8 features.
Java EE 6 and 7
- Java EE version 6 or above is now considered the baseline for Spring Framework 4, with the JPA 2.0 and Servlet 3.0 specifications being of particular relevance.
- Spring Framework 4.0 supports the Java EE 7 level of applicable specifications now: in particular, JMS 2.0, JTA 1.2, JPA 2.1, Bean Validation 1.1, and JSR-236 Concurrency Utilities.
Release Note of Spring 4.x
Spring Framework 5.x Changes
Servlet API 4
- One of the new features that Spring 5 brings – is the server push support that comes with Java EE 8 Servlet 4.0 API.
Java EE 7
- Servlet 3.1
- JMS 2.0
- JPA 2.1
- JAX-RS 2.0
- Bean Validation 1.1
- Java 8 or Higher
Java 8 is the minimum requirement to work on Spring Framework 5.0.
- Spring-webflux module that supports reactive HTTP and WebSocket clients.
- Spring Framework 5.0 fully supports Junit 5 Jupiter to write tests and extensions in JUnit 5.
- Jackson 2.6+
- EhCache 2.10+ / 3.0 GA
- Hibernate 5.0+
- JDBC 4.0+
- XmlUnit 2.x+
- OkHttp 3.x+
- Netty 4.1+
- mock.staticmock of the spring-aspects module.
- web.view.tiles2M. Now Tiles 3 is the minimum requirement.
- orm.hibernate3 and orm.hibernate4. Now, Hibernate 5 is the supported framework.
- Spring Framework 5.0 has also discontinued support for the following libraries:
Min Server Versions
- Tomcat 8.5+
- Jetty 9.4+
- WildFly 10+
- Netty 4.1+
- Undertow 1.4+