Spring Framework
![]() | |
Developer(s) | VMware |
---|---|
Initial release | 1 October 2002 |
Stable release | 6.2.1[1] ![]() |
Repository | |
Written in | Java |
Platform | Java EE |
Type | Application framework |
License | Apache License 2.0 |
Website | spring![]() |
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
- Apache Tapestry
- Google Guice
- Hibernate (framework)
- List of Java frameworks
- Comparison of web frameworks
- Spring Web Flow
Citations
- ^ "v6.2.1". 12 December 2024. Retrieved 12 December 2024.
- ^ Deinum et al. 2014, p. 47, §2 Spring Core Tasks.
- ^ Deinum et al. 2014, pp. 694–698, §16-2 Integrating Two Systems Using JMS.
- ^ Johnson & Hoeller 2004.
- ^ Deinum & Cosmina 2021, p. 1, §1 Setting up a Local Development Environment.
- ^ "Spring Framework 1.0 Final Released". Official Spring Framework blog. 24 March 2014. Retrieved 1 March 2021.
- ^ Jolt winners 2006
- ^ "JAX Innovation Award Gewinner 2006". Archived from the original on 2009-08-17. Retrieved 2009-08-12.
- ^ "Spring Framework 3.2.5 Released". Official Spring website. 7 Nov 2013. Retrieved 16 October 2016.
- ^ "Announcing Spring Framework 4.0 GA Release". Spring blog. 12 December 2013.
- ^ Walls 2016, pp. 92–106, §5.
- ^ Cosmina et al. 2017, pp. 125–126, §4 Spring Configuration in Detail and Spring Boot.
- ^ Cosmina et al. 2017, pp. 1–18, §1 Introducing Spring.
- ^ "Spring Boot v1.0.0.RELEASE". github.com.
- ^ "Spring Framework 4.2 goes GA". Spring Blog. 31 July 2015.
- ^ a b "Spring Framework 4.2 goes GA". Spring Blog.
- ^ "Spring Framework Versions: Supported Versions". github.com.
- ^ "Reactive Spring". Spring Blog. 9 February 2016.
- ^ "Spring Framework 6.0 goes GA". Spring Blog. 16 November 2022.
- ^ Spring VS EJB3
- ^ "Pitchfork FAQ". Retrieved 2006-06-06.
- ^ "Spring4Shell: critical vulnerability in Spring - Kaspersky official blog".
References
- Cosmina, Iuliana; Harrop, Rob; Schaefer, Chris; Ho, Clarence (2017). Pro Spring 5. Berkeley, CA: Apress. doi:10.1007/978-1-4842-2808-1. ISBN 978-1-4842-2807-4.
- Deinum, Marten; Cosmina, Iuliana (2021). Pro Spring MVC with WebFlux. Berkeley, CA: Apress. doi:10.1007/978-1-4842-5666-4. ISBN 978-1-4842-5665-7.
- Deinum, Marten; Long, Josh; Mak, Gary; Rubio, Daniel (2014). Spring Recipes. Berkeley, CA: Apress. doi:10.1007/978-1-4302-5909-1. ISBN 978-1-4302-5908-4.*Johnson, Rod; Höller, Jürgen; Arendsen, Alef; Risberg, Thomas; Sampaleanu, Colin (July 8, 2005). Professional Java Development with the Spring Framework (First ed.). Wrox Press. p. 672. ISBN 0-7645-7483-3.
- Harrop, Rob; Machacek, Jan (January 31, 2005). Pro Spring (First ed.). Apress. p. 832. ISBN 1-59059-461-4.
- Johnson, Rod; Jürgen, Höller (October 23, 2002). J2EE Development without EJB (First ed.). Wrox Press. p. 768. ISBN 0-7645-5831-5.
- Johnson, Rod; Jurgen, Holler (October 2002). Expert One-on-one J2EE Design and Development (First ed.). Wrox Press. p. 750. ISBN 0-7645-4385-7.
- Johnson, Rod; Hoeller, Juergen (2004). Expert One-on-One J2EE development without EJB. Indianapolis, Ind: Wiley. ISBN 978-0-7645-5831-3.
- Musib, Somnath (July 12, 2022). Spring Boot in Practice. Simon and Schuster. ISBN 978-1-61729-881-3.
- Pollack, Mark; Gierke, Oliver; Risberg, Thomas; Brisbin, Jon; Hunger, Michael (October 31, 2012). Spring Data (First ed.). O'Reilly. p. 316. ISBN 978-1449323950.
- Sarin, Ashish (June 27, 2016). Getting started with Spring Framework (Third ed.). Self-published. p. 626. ISBN 978-1534985087.
- Long, Josh (August 27, 2013). Spring Framework LiveLessons (First ed.). Addison-Wesley Professional. pp. 4+ Hours. ISBN 978-0-13-346307-1.
- Walls, Craig (Jan 3, 2016). Spring Boot in Action. Manning. ISBN 978-1-61729-254-5.
- Walls, Craig (2019). Spring in Action. Manning. ISBN 978-1-61729-494-5.
- "JAX Innovation Award Gewinner 2006". Archived from the original on 2009-08-17. Retrieved 2009-08-12.
- "Pitchfork FAQ". Retrieved 2006-06-06.
- "Announcing Spring Framework 4.0 GA Release". Spring blog. 12 December 2013.