Jump to content

Spring Framework

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 136.232.13.166 (talk) at 06:29, 13 October 2023 (Modules). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Spring Framework
Developer(s)VMware
Initial release1 October 2002; 22 years ago (2002-10-01)
Stable release
6.2.1[1] Edit this on Wikidata / 12 December 2024; 5 months ago (12 December 2024)
Repository
Written inJava
PlatformJava EE
TypeApplication framework
LicenseApache License 2.0
Websitespring.io/projects/spring-framework Edit this on Wikidata

The Spring Framework is an application framework and inversion of control container for the Java platform.[2] 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 framework does not impose any specific programming model.[citation needed]. The framework has become popular in the Java community as an addition to the Enterprise JavaBeans (EJB) model.[3] The Spring Framework is free and open source software.[4]: 121–122 [5]

Version history

Version Date Notes
0.9 2003
1.0 March 24, 2004 First production release.
2.0 2006
3.0 2009
4.0 2013
5.0 2017
6.0 November 16, 2022

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. The framework was first released under the Apache 2.0 license in June 2003. The first production release, 1.0, was released in March 2004.[6] The Spring 1.2.6 framework won a Jolt productivity award and a JAX Innovation Award in 2006.[7][8] 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.[9] Spring Framework 4.0 was released in December 2013.[10] Notable improvements in Spring 4.0 included support for Java SE (Standard Edition) 8, Groovy 2,[11] [12] some aspects of Java EE 7, and WebSocket. [13]

Spring Boot 1.0 was released in April 2014.[14]

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.[15] It is "compatible with Java 6, 7 and 8, with a focus on core refinements and modern web capabilities".[16]

Spring Framework 4.3 has been released on 10 June 2016 and was supported until 2020.[17] It was announced to "be the final generation within the general Spring 4 system requirements (Java 6+, Servlet 2.5+), [...]".[16]

Spring 5 is announced to be built upon Reactive Streams compatible Reactor Core.[18][obsolete source]

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.[19]

Relationship with Jakarta Enterprise Beans (EJB)

The container can be turned into a partially compliant EJB (Enterprise JavaBeans) 3.0 container by means of the Pitchfork project.[citation needed] Some[who?] criticize the Spring Framework for not complying with standards.[20][failed verification] However, SpringSource doesn't see EJB 3 compliance as a major goal, and claims that the Spring Framework and the container allow for more powerful programming models.[21][failed verification]

Spring4Shell vulnerability

A remote code execution vulnerability affecting certain versions of Spring Framework was published in April 2022 under CVE-2022-22965. It was given the name Spring4Shell in reference to the recent Log4Shell vulnerability, both having similar proofs-of-concept in which attackers could gain shell access on vulnerable machines.[22]

See also

Citations

  1. ^ "v6.2.1". 12 December 2024. Retrieved 12 December 2024.
  2. ^ Deinum et al. 2014, p. 47, §2 Spring Core Tasks.
  3. ^ Deinum et al. 2014, pp. 694–698, §16-2 Integrating Two Systems Using JMS.
  4. ^ Johnson & Hoeller 2004.
  5. ^ Deinum & Cosmina 2021, p. 1, §1 Setting up a Local Development Environment.
  6. ^ "Spring Framework 1.0 Final Released". Official Spring Framework blog. 24 March 2014. Retrieved 1 March 2021.
  7. ^ Jolt winners 2006
  8. ^ "JAX Innovation Award Gewinner 2006". Archived from the original on 2009-08-17. Retrieved 2009-08-12.
  9. ^ "Spring Framework 3.2.5 Released". Official Spring website. 7 Nov 2013. Retrieved 16 October 2016.
  10. ^ "Announcing Spring Framework 4.0 GA Release". Spring blog. 12 December 2013.
  11. ^ Walls 2016, pp. 92–106, §5.
  12. ^ Cosmina et al. 2017, pp. 125–126, §4 Spring Configuration in Detail and Spring Boot.
  13. ^ Cosmina et al. 2017, pp. 1–18, §1 Introducing Spring.
  14. ^ "Spring Boot v1.0.0.RELEASE". github.com.
  15. ^ "Spring Framework 4.2 goes GA". Spring Blog. 31 July 2015.
  16. ^ a b "Spring Framework 4.2 goes GA". Spring Blog.
  17. ^ "Spring Framework Versions: Supported Versions". github.com.
  18. ^ "Reactive Spring". Spring Blog. 9 February 2016.
  19. ^ "Spring Framework 6.0 goes GA". Spring Blog. 16 November 2022.
  20. ^ Spring VS EJB3
  21. ^ "Pitchfork FAQ". Retrieved 2006-06-06.
  22. ^ "Spring4Shell: critical vulnerability in Spring - Kaspersky official blog".

References