

Aspect-oriented programming: enables implementing cross-cutting concerns.Spring Core Container: this is the base module of Spring and provides spring containers (BeanFactory and ApplicationContext).The Spring Framework includes several modules that provide a range of services: Spring Framework 6.0 has been released on 16 November 2022 and came with a Java 17+ baseline and a move to Jakarta EE 9+ (in the jakarta namespace), with a focus on the recently released Jakarta EE 10 APIs such as Servlet 6.0 and JPA 3.1. Spring 5 is announced to be built upon Reactive Streams compatible Reactor Core. It "will be the final generation within the general Spring 4 system requirements (Java 6+, Servlet 2.5+), ". Spring Framework 4.3 has been released on 10 June 2016 and will be supported until 2020. It is "compatible with Java 6, 7 and 8, with a focus on core refinements and modern web capabilities". Spring Framework 4.2.0 was released on 31 July 2015 and was immediately upgraded to version 4.2.1, which was released on 01 Sept 2015. Spring Boot 1.0 was released in April 2014. Notable improvements in Spring 4.0 included support for Java SE (Standard Edition) 8, Groovy 2, some aspects of Java EE 7, and WebSocket. Spring Framework 4.0 was released in December 2013. Spring 2.0 was released in October 2006, Spring 2.5 in November 2007, Spring 3.0 in December 2009, Spring 3.1 in December 2011, and Spring 3.2.5 in November 2013.

The Spring 1.2.6 framework won a Jolt productivity award and a JAX Innovation Award in 2006. The first production release, 1.0, was released in March 2004. The framework was first released under the Apache 2.0 license in June 2003. The first version was written by Rod Johnson, who released the framework with the publication of his book Expert One-on-One J2EE Design and Development in October 2002. Although the framework does not impose any specific programming model, it has become popular in the Java community as an addition to the Enterprise JavaBeans (EJB) model. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE (Enterprise Edition) platform. The Spring Framework is an application framework and inversion of control container for the Java platform.
