From Buds to Giants: Demystifying the Story of Rod Johnson and the Spring Framework

foreword

  In this world full of creative and technical pursuits, there is a framework called Spring, which has given birth to countless stories of innovation and success. It's a story of continual evolution and self-improvement, an inspiring journey led by a visionary programmer and his team. From the initial concept to today's mature framework, Spring has undergone countless changes and improvements, and finally became a gem in the field of Java development.

  Let us embark on an extraordinary journey, travel through the long river of time, and witness the transformation of the Spring framework from prototype to glory. Feel the founder Rod Johnson's insistence on simplifying development, and the team's continuous efforts to expand and improve. Along the way, we'll learn how the Spring framework unleashes endless possibilities and creativity for us. Let's set off and explore the wonders of the Spring framework together!

Rod Johnson

  Rod Johnson is a well-known computer scientist and software development expert who has worked as a Java developer and architect in several well-known companies. He is one of the founders of the Spring framework and a legendary master and god-level figure in the Java world. He has extensive experience and deep expertise in domain-driven design, enterprise application architecture, and Java development. What's even more surprising is that before returning to the field of software development, he not only obtained a degree in computing at the University of Sydney, but also a degree in music.

Spring predecessor

  Before 2002, the development of enterprise-level Java applications relied on clunky EJB components. These components are overly complex, difficult to understand, difficult to test, and make the development process slow and difficult to maintain. During this period, Rod Johnson was trying to find a more lightweight approach to developing enterprise Java applications that should be simpler, more flexible, and easier to maintain. In his research, he proposed a POJO-based model. The core idea of ​​this model is that the business logic code should be made simpler and freed from the tedious management of the container. This POJO-based development model provides the foundation for the Spring framework.

  In 2002, he published a book called "Expert One-on-One J2EE", which criticized the popular Java EE and EJB technology solutions at that time, thinking that they were too complicated, bloated and inefficient, and proposed a A simpler and more flexible solution based on plain Java classes and dependency injection (DI). He provides some basic code in the book to implement this solution. Since the root package of the project is named com.interface21, it is also called interface21, which is the predecessor of Spring.

2003: First release of Spring

  In June 2003: Rod Johnson and his team developed a new framework based on interface21, named Spring. And under the Apache license version 2.0, the first version of the Spring framework was released. This version provides core functions such as IOC container, AOP support, and JDBC abstraction layer, enabling Java developers to create and manage enterprise-level applications more easily.

2004: Spring 1.0

  In March 2004: Milestone version 1.0 released. This release focuses on providing core functionality, including IoC containers, AOP support, JDBC abstraction layer, and transaction management. In addition, Spring 1.x also provides basic Web development support and integration with other frameworks, such as Hibernate, Struts integration support, and also implements Java EE specifications such as JMX and JMS. Help developers build flexible, scalable applications. The Spring 1.x releases laid the groundwork for subsequent releases. This version has received widespread attention and welcome, attracting more and more developers to invest in the development and promotion of the Spring framework, and then Spring's development has entered the fast lane.

2006: Spring 2.0

  在 2006 年,Spring 2.0 发布了,标志着 Spring 生态系统的进一步发展。它带来了许多重要的改进和新特性。引入基于注解的配置,简化了配置和管理 Spring 组件,减少了样板代码的编写,提高了开发效率。完全支持 Java 5,并利用其新特性如泛型和枚举类型,使代码更简洁、可读性更强。与 AspectJ 进行集成,提供了更加强大的 AOP 功能。

  引入全新的 Spring MVC 框架,提供灵活且强大的 MVC 架构,支持 RESTful 风格的开发,并集成多种视图技术(如 JSP、FreeMarker、Velocity 等)。还提供了全面的测试支持,包括单元测试、集成测试和功能测试,引入多个测试工具和注解,简化测试过程,提高效率。同时增强对动态语言的支持,如 Groovy 和 Bean Scripting Framework(BSF),开发人员可以使用这些语言编写 Spring 组件和配置,增加了灵活性和可扩展性。

  2.0 版本还扩展了对各种技术和规范的支持,使得 Spring 框架更加灵活和易于集成到不同的环境中。同年,Spring 还获得了 Jolt 生产力奖 和 JAX 创新奖。奠定了 Spring 在企业应用开发中的地位。

2007 年:Spring 2.5

  在 2007 年,Spring 框架正式更名为 SpringSource,并发布了 2.5 版本。这个版本提供了对 Java 6 和 Java EE 5 的全面支持,包括对 JDBC 4.0、JTA 1.1、JavaMail 1.4 和 JAX-WS 2.0 的支持。其中一个重要改进是,引入了注解驱动的配置方式,通过使用注解来配置和管理 Spring 应用程序,使得配置变得更加简洁和易读。同时还引入了 Spring MVC 注解控制器,支持 Servlet 和 Portlet 环境下的 Spring MVC,简化了 Web 应用程序的开发。这些新特性进一步提升了 Spring 框架的开发效率和易用性。

2009 年:Spring 3.0

  在 2009 年,SpringSource 被 VMware 收购,这进一步加强了 Spring 框架的实力和影响力。同年,Spring 框架发布了 3.0 版本,引入了对 Java 6 的支持,充分利用了 Java 语言的新特性。此外,3.0 版本还引入了表达式语言(SpEL)和对 RESTful Web 服务的支持,为开发者提供了更多的灵活性和选择。

2011 年:Spring 3.1

  在 2011 年,随着 Spring 框架的持续发展,SpringSource 更名为 VMware vFabric,以更好地突出其在云计算和虚拟化领域的重要性。与此同时,Spring 框架也发布了 3.1 版本,引入了一系列新特性。其中包括 Java 配置方式,使得开发者可以使用 Java 代码替代 XML 配置,提供了更加类型安全和便捷的配置方式。同时对 Spring MVC 进行了改进,增强了处理异步请求的能力。

  另外,3.1 版本还引入了环境抽象层,允许开发者根据不同的环境进行配置,简化了在不同部署环境中的配置管理。此外,缓存抽象层的引入使得 Spring 应用程序可以更方便地与不同的缓存提供商集成,提升了性能和可扩展性。

2013 年:Spring 4.0

  2013 年,VMware vFabric 更名为 Pivotal,这标志着 Spring 框架的发展进入了新的阶段。同时,Spring 框架也发布了 4.0 版本,引入了一些重要的新功能。其中包括对 Java 8 的支持,使得开发者可以充分利用 Java 8 的新特性来开发 Spring 应用程序。另外,4.0 版本还引入了泛型依赖注入,提供了更好的类型安全和代码重用性。此外,WebSockets 的支持使得 Spring 应用程序可以轻松地构建实时通信和推送功能。

2016 年:Spring 5.0

  2016 年,Pivotal 发布了 Spring 框架的 5.0 版本,这是一个里程碑式的发布。5.0 版本引入了对响应式编程模型的支持,通过整合 Project Reactor 和 Reactive Streams 等技术,使得开发者能够构建基于事件驱动和非阻塞的应用程序,提供更高的吞吐量和更低的资源消耗。

  此外,5.0 版本还增加了对 JUnit 5 的支持,JUnit 是 Java 开发中最流行的单元测试框架之一,它提供了更丰富的测试功能和更好的扩展性。通过与 Spring 框架的集成,开发者可以更方便地编写和执行单元测试,确保代码的质量和可靠性。

2022 年:Spring 6.0

  2022 年,Pivotal 发布了 Spring 框架的 6.0 版本,这是一个重要的里程碑。6.0 版本基于 Java 17+,采用了最新的 Java 版本,带来了更强大的性能和功能。同时,Spring 框架迁移到了 Jakarta EE 9+的命名空间,与最新的 Java EE 标准保持一致,提供了更好的兼容性和扩展性。

  此外,6.0 版本,还支持 AOT 处理、Spring Observability。同时提高性能和可伸缩性、减少内存占用、提升安全性以及更灵活和可扩展的架构。这些新功能可以帮助开发人员构建更高效、可扩展和安全的应用程序。总体而言,这使得开发者能够充分利用最新的技术和标准,构建更高效和可靠的企业级应用程序。Spring 框架的 6.0 版本展示了其持续创新和发展的态势,为开发者提供了更多的选择和可能性。

总结

  这些里程碑事件展示了 Spring 框架的演进历程,从最初的概念到成为广受欢迎的 Java 开发框架。它的成功得益于其创新的理念、灵活的架构和持续的改进。每个版本的发布都为我们提供了更多的功能和便利,使得企业级应用开发更加高效和可维护。Spring 框架的发展仍在继续,不断地适应新的技术和需求,为我们提供极致的开发体验。

结尾

  如果觉得对你有帮助,可以多多评论,多多点赞哦,也可以到我的主页看看,说不定有你喜欢的文章,也可以随手点个关注哦,谢谢。

  我是不一样的科技宅,每天进步一点点,体验不一样的生活。我们下期见!

Guess you like

Origin juejin.im/post/7234078736420487205
Recommended