天天看點

從萌芽到巨人: 揭秘Rod Johnson與Spring架構的故事

作者:不一樣的科技宅
從萌芽到巨人: 揭秘Rod Johnson與Spring架構的故事

前言

  在這個充滿創意和技術追求的世界中,有一個名為 Spring 的架構,它孕育了無數創新和成功的故事。這是一個關于持續進化和超越自我的故事,一個激勵人心的旅程,由一位富有遠見的程式員和他的團隊引領着。從最初的概念到如今的成熟架構,Spring 經曆了無數次變革和改進,最終成為了 Java 開發領域的瑰寶。

  讓我們踏上一段不平凡的旅程,穿越時光的長河,見證 Spring 架構從雛形到輝煌的轉變。感受到創始人 Rod Johnson 對簡化開發的堅持,以及團隊不斷拓展和改善的努力。與此同時,我們将了解到 Spring 架構如何為我們帶來了無限可能和創造力的釋放。讓我們啟程,一起探索 Spring 架構的奇迹!

從萌芽到巨人: 揭秘Rod Johnson與Spring架構的故事

Rod Johnson

  Rod Johnson 是一位著名的計算機科學家和軟體開發專家,曾經在多個知名公司擔任 Java 開發和架構師的職位。他是 Spring 架構的創始人之一,也是一位 Java 世界的傳奇大師和神級人物。他在領域驅動設計、企業級應用架構和 Java 開發方面有着豐富的經驗和深厚的專業知識。更令人吃驚的是在回到軟體開發領域之前,他在悉尼大學不僅獲得了計算機學位,同時還獲得了音樂學學位。

從萌芽到巨人: 揭秘Rod Johnson與Spring架構的故事

Spring 前身

  在 2002 年之前,企業級 Java 應用程式的開發需要依賴于笨重的 EJB 元件。這些元件過于複雜,難以了解,不友善測試,且使開發過程緩慢和難以維護。在這個時期,Rod Johnson 嘗試找到一種更輕量級的方法來開發企業級 Java 應用程式,這種方法應該更加簡單、靈活和易于維護。在他的研究中,他提出了一種基于 POJO 的模型,這個模型的核心思想是,應該讓業務邏輯代碼更加簡單,并将它們從容器的繁瑣管理中解脫出來。這種基于 POJO 的開發模式為 Spring 架構奠定了基礎。

  2002 年,他出版了一本名為《Expert One-on-One J2EE》的書,其中批判了當時流行的 Java EE 和 EJB 技術方案,認為它們過于複雜、臃腫和低效,并提出了一種基于普通 Java 類和依賴注入(DI)的更簡單和靈活的解決方案。他在書中提供了一些基礎代碼,用來實作這種解決方案。由于項目的根包命名為 com.interface21,是以也被稱為 interface21,這就是 Spring 的前身。

2003 年:Spring 初版

  在 2003 年 6 月:Rod Johnson 和他的團隊在 interface21 基礎上開發了一個全新的架構,命名為 Spring。并且基于 Apache 許可版本 2.0 下,釋出了 Spring 架構的第一個版本。這個版本提供了 IOC 容器、AOP 支援、JDBC 抽象層等核心功能,使得 Java 開發人員能夠更輕松地建立和管理企業級應用程式。

2004 年:Spring 1.0

  在 2004 年 3 月:釋出了裡程碑的版本 1.0。這個版本集中于提供核心功能,包括 IoC 容器、AOP 支援、JDBC 抽象層和事務管理等功能。此外 Spring 1.x 還提供了基本的 Web 開發支援和與其他架構的內建,如 Hibernate、Struts 的內建支援,還實作了 JMX 和 JMS 等 Java EE 規範。幫助開發人員建構靈活、可擴充的應用程式。Spring 1.x 版本為後續版本的發展奠定了基礎。這個版本受到了廣泛的關注和歡迎,吸引了越來越多的開發者投入到 Spring 架構的開發和推廣中,随後 Spring 發展進入快車道。

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 架構的發展仍在繼續,不斷地适應新的技術和需求,為我們提供極緻的開發體驗。

結尾

  如果覺得對你有幫助,可以多多評論,多多點贊哦,也可以到我的首頁看看,說不定有你喜歡的文章,也可以随手點個關注哦,謝謝。

  我是不一樣的科技宅,每天進步一點點,體驗不一樣的生活。我們下期見!