'Spring Boot 為什麼這麼火火火火火火?'

"

沒錯 Spring Boot 越來越火了,而且火的超過了我的預期,作為一名行走一線的 Java 程序員,你可能在各個方面感受到了 Spring Boot 的火。

Spring Boot 的火火火火火火

技術社區 Spring Boot 的文章越來越多;Spring Boot 相關的圖文、視頻課程越來越多;使用 Spring Boot 的互聯網公司越來越多;現在出去面試 Java 工程師, Spring Boot 已經成了必問的內容。

一切都在證明,Spring Boot 已經成為了 Java 程序員必備的技能。並且可以預見的是未來 Spring Boot 的發展還會更好。

那我個人是如何感受到這一點呢?

三年前寫的一個 Spring Boot 入門的文章,單篇文章閱讀量超過百萬!在百度指數上搜索 Spring Boot 關鍵字,可以看到一個氣勢如虹的增長曲線。


"

沒錯 Spring Boot 越來越火了,而且火的超過了我的預期,作為一名行走一線的 Java 程序員,你可能在各個方面感受到了 Spring Boot 的火。

Spring Boot 的火火火火火火

技術社區 Spring Boot 的文章越來越多;Spring Boot 相關的圖文、視頻課程越來越多;使用 Spring Boot 的互聯網公司越來越多;現在出去面試 Java 工程師, Spring Boot 已經成了必問的內容。

一切都在證明,Spring Boot 已經成為了 Java 程序員必備的技能。並且可以預見的是未來 Spring Boot 的發展還會更好。

那我個人是如何感受到這一點呢?

三年前寫的一個 Spring Boot 入門的文章,單篇文章閱讀量超過百萬!在百度指數上搜索 Spring Boot 關鍵字,可以看到一個氣勢如虹的增長曲線。


Spring Boot 為什麼這麼火火火火火火?


2016年,在 Github 上寫了一個 Spring Boot 的開源項目,現在竟有 150000+ Star,6600 + Fork ,在 Github 上 Star 排名今次於 Spring Boot 官方。


"

沒錯 Spring Boot 越來越火了,而且火的超過了我的預期,作為一名行走一線的 Java 程序員,你可能在各個方面感受到了 Spring Boot 的火。

Spring Boot 的火火火火火火

技術社區 Spring Boot 的文章越來越多;Spring Boot 相關的圖文、視頻課程越來越多;使用 Spring Boot 的互聯網公司越來越多;現在出去面試 Java 工程師, Spring Boot 已經成了必問的內容。

一切都在證明,Spring Boot 已經成為了 Java 程序員必備的技能。並且可以預見的是未來 Spring Boot 的發展還會更好。

那我個人是如何感受到這一點呢?

三年前寫的一個 Spring Boot 入門的文章,單篇文章閱讀量超過百萬!在百度指數上搜索 Spring Boot 關鍵字,可以看到一個氣勢如虹的增長曲線。


Spring Boot 為什麼這麼火火火火火火?


2016年,在 Github 上寫了一個 Spring Boot 的開源項目,現在竟有 150000+ Star,6600 + Fork ,在 Github 上 Star 排名今次於 Spring Boot 官方。


Spring Boot 為什麼這麼火火火火火火?


項目名稱:spring-boot-examples

項目地址:

https://github.com/ityouknow/spring-boot-examples

注:這個開源項目還有很多國際友人蔘與貢獻。

Spring 官方也特別特別重視 Spring Boot ,直接將 Spring Boot 擺放到官網第一的位置上來。


"

沒錯 Spring Boot 越來越火了,而且火的超過了我的預期,作為一名行走一線的 Java 程序員,你可能在各個方面感受到了 Spring Boot 的火。

Spring Boot 的火火火火火火

技術社區 Spring Boot 的文章越來越多;Spring Boot 相關的圖文、視頻課程越來越多;使用 Spring Boot 的互聯網公司越來越多;現在出去面試 Java 工程師, Spring Boot 已經成了必問的內容。

一切都在證明,Spring Boot 已經成為了 Java 程序員必備的技能。並且可以預見的是未來 Spring Boot 的發展還會更好。

那我個人是如何感受到這一點呢?

三年前寫的一個 Spring Boot 入門的文章,單篇文章閱讀量超過百萬!在百度指數上搜索 Spring Boot 關鍵字,可以看到一個氣勢如虹的增長曲線。


Spring Boot 為什麼這麼火火火火火火?


2016年,在 Github 上寫了一個 Spring Boot 的開源項目,現在竟有 150000+ Star,6600 + Fork ,在 Github 上 Star 排名今次於 Spring Boot 官方。


Spring Boot 為什麼這麼火火火火火火?


項目名稱:spring-boot-examples

項目地址:

https://github.com/ityouknow/spring-boot-examples

注:這個開源項目還有很多國際友人蔘與貢獻。

Spring 官方也特別特別重視 Spring Boot ,直接將 Spring Boot 擺放到官網第一的位置上來。


Spring Boot 為什麼這麼火火火火火火?


Spring Boot 為什麼這麼火

作為一個學習使用三年多 Spring Boot 的程序員,我來試著從我的角度來給大家聊聊 Spring Boot 為什麼這麼火,可以在短短几年內給 Java 程序員帶來這麼大的變革。

01. 從設計理念談起

要說到 Spring Boot 為什麼這麼火,就必須得聊聊 Spring Boot 的設計理念,正是此設計理念奠基了Spring Boot 開發設計的基準,讓 Spring Boot 走到了今天。

那 Spring Boot 的設計理念是什麼呢?它就是約定優於配置(convention over configuration)

約定優於配置並不是一個新概念,它是一種軟件設計範式,很早就應用在軟件架構設計中,它的作用是減少軟件開發人員需做決定的數量,獲得簡單的好處,而又不失靈活性。

只是 Spring Boot 讓這個設計理念上升了一個層次,Spring Boot 不止在某個功能上實現此設計理念,而是整個軟件體系都在踐行約定優於配置。

Spring Boot 體系將約定優於配置的思想展現得淋淋盡致,小到配置文件,中間件的默認配置,大到內置容器、生態中的各種 Starters 無不遵循此設計規則。

Spring Boot Jpa 80% 大部分查詢功能都以約定的方式給與提供,另外 20% 複雜的場景,提供另外的技術手段來解決,典型的約定優於配置的實現。

Spring Boot Starter ,在項目啟動的時候,根據約定信息對組件進行加載、初始化。因此項目中引入了對於的 Starter 之後,就可以到達開箱即用的效果。

甚至 Spring Cloud 的設計,也借鑑了約定優於配置的思想,很多組件都是在啟動時,默認提供了其相關的功能,可以讓我們的使用到達很少配置或者零配置。

02. Spring Boot 的 Starter 機制

Spring Boot Starter 是 Spring Boot 的 星辰大海。

正是因為豐富的 Spring Boot Starter ,讓 Spring Boot 征服了使用各個開源軟件的開發者,只要 Spring Boot Starter 指向哪個開源軟件,就會讓某個開源軟件變得異常好用。

這真的是這樣,有一種神筆馬良的感覺(誇張了一點)。

那什麼是 Spring Boot Starter 呢?

在 Spring Boot 中,Starter 是為快速應用開發提供“一站式服務”的依賴(Dependency)。Starter 使得開發人員在開始編寫新的模塊時不需要拷貝樣板式的配置文件、編寫樣板式的代碼,只需要提供最簡單的配置即可開始編程。

Spring Boot Starter 有兩個核心組件:自動配置代碼和提供自動配置模塊及其它有用的依賴。也就意味著當我們項目中引入某個 Starter ,即擁有了此軟件的默認使用能力,除非我們需要特定的配置,一般情況下我僅需要少量的配置或者不配置即可使用組件對應的功能。

Spring Boot 由眾多 Starter 組成,隨著版本的推移 Starter 家族成員也與日俱增。在傳統 Maven 項目中通常將一些層、組件拆分為模塊來管理,以便相互依賴複用,在 Spring Boot 項目中我們則可以創建自定義 Spring Boot Starter 來達成該目的。

Spring Boot Starter 統一了使用不同軟件的編程體驗。

在沒有使用 Spring Boot Starter 之前,我們需要按照每個開源軟件的特性,將對應的組件包集成到我們的開發項目中,因為每個組件的設計理念和開發團隊都不一致,因此會有很多不同的調用風格在我們的項目中。

Spring Boot 強大到很多技術社區都主動提供了對應的 Starter 組件,比如 MyBatis 、Apache Camel、Apache CXF 等等。隨著 Spring Boot 的發展 Starter 組件會越來越多。

Spring Boot 非常強大的原因之一就是提供了大量的 Spring Boot Starter ,如此多的“開箱即用” 的依賴模塊,讓我們在日常開發中“拿來即用”,以便更加快速和高效專注於業務開發。

03. Spring Boot 的豪華開發團隊

我們經常會看到在介紹 Spring Boot 的時候有這麼一句:Spring Boot 是由 Pivotal 團隊提供的全新框架。由此我們得知 Spring Boot 是由 Pivotal 團隊所研發,那麼 Pivotal 團隊到底是一個什麼樣的團隊呢?其實這裡的 Pivotal 團隊是指 Pivotal 公司。

Pivotal 公司介紹:致力於“改變世界構造軟件的方式(We are transforming how the world builds software)”,提供雲原生應用開發 PaaS 平臺及服務,幫助企業客戶採用敏捷軟件開發方法論,從而提高軟件開發人員工作效率、減少運維成本,實現數字化轉型、IT 創新,並最終實現業務創新。

Pivotal 公司可謂是大牛雲集,公司研發的產品有: Spring 以及衍生框架、緩存中間件 Redis、消息隊列框架 RabbitMQ、數據引擎產品 Greenplum,還有 Tomcat、Groovy 裡的一些頂級開發者,DevOps 理論的提出者都在這個公司。

2016 年風靡全球的雲原生理念亦是 Pivotal 公司提出,美國硅谷著名的精益化創業書籍的作者 Eric Ries 也加入了 Pivotal公司。Spring Boot 為什麼如此的優秀,正是因為背後有這些全球的頂級開發者。

Pivotal 公司的背後其實是一場商業併購大片,有很多著名的公司在其身後,戴爾、Spring、EMC、VMware 等等,詳情大家開源看這篇文章:《是時候給大家介紹 Spring Boot/Cloud 背後豪華的研發團隊了》

04. 有個好乾爹

Spring Boot 的乾爹是誰呢?毫無疑問就是 Spring 了。有圖為證,看下面:


"

沒錯 Spring Boot 越來越火了,而且火的超過了我的預期,作為一名行走一線的 Java 程序員,你可能在各個方面感受到了 Spring Boot 的火。

Spring Boot 的火火火火火火

技術社區 Spring Boot 的文章越來越多;Spring Boot 相關的圖文、視頻課程越來越多;使用 Spring Boot 的互聯網公司越來越多;現在出去面試 Java 工程師, Spring Boot 已經成了必問的內容。

一切都在證明,Spring Boot 已經成為了 Java 程序員必備的技能。並且可以預見的是未來 Spring Boot 的發展還會更好。

那我個人是如何感受到這一點呢?

三年前寫的一個 Spring Boot 入門的文章,單篇文章閱讀量超過百萬!在百度指數上搜索 Spring Boot 關鍵字,可以看到一個氣勢如虹的增長曲線。


Spring Boot 為什麼這麼火火火火火火?


2016年,在 Github 上寫了一個 Spring Boot 的開源項目,現在竟有 150000+ Star,6600 + Fork ,在 Github 上 Star 排名今次於 Spring Boot 官方。


Spring Boot 為什麼這麼火火火火火火?


項目名稱:spring-boot-examples

項目地址:

https://github.com/ityouknow/spring-boot-examples

注:這個開源項目還有很多國際友人蔘與貢獻。

Spring 官方也特別特別重視 Spring Boot ,直接將 Spring Boot 擺放到官網第一的位置上來。


Spring Boot 為什麼這麼火火火火火火?


Spring Boot 為什麼這麼火

作為一個學習使用三年多 Spring Boot 的程序員,我來試著從我的角度來給大家聊聊 Spring Boot 為什麼這麼火,可以在短短几年內給 Java 程序員帶來這麼大的變革。

01. 從設計理念談起

要說到 Spring Boot 為什麼這麼火,就必須得聊聊 Spring Boot 的設計理念,正是此設計理念奠基了Spring Boot 開發設計的基準,讓 Spring Boot 走到了今天。

那 Spring Boot 的設計理念是什麼呢?它就是約定優於配置(convention over configuration)

約定優於配置並不是一個新概念,它是一種軟件設計範式,很早就應用在軟件架構設計中,它的作用是減少軟件開發人員需做決定的數量,獲得簡單的好處,而又不失靈活性。

只是 Spring Boot 讓這個設計理念上升了一個層次,Spring Boot 不止在某個功能上實現此設計理念,而是整個軟件體系都在踐行約定優於配置。

Spring Boot 體系將約定優於配置的思想展現得淋淋盡致,小到配置文件,中間件的默認配置,大到內置容器、生態中的各種 Starters 無不遵循此設計規則。

Spring Boot Jpa 80% 大部分查詢功能都以約定的方式給與提供,另外 20% 複雜的場景,提供另外的技術手段來解決,典型的約定優於配置的實現。

Spring Boot Starter ,在項目啟動的時候,根據約定信息對組件進行加載、初始化。因此項目中引入了對於的 Starter 之後,就可以到達開箱即用的效果。

甚至 Spring Cloud 的設計,也借鑑了約定優於配置的思想,很多組件都是在啟動時,默認提供了其相關的功能,可以讓我們的使用到達很少配置或者零配置。

02. Spring Boot 的 Starter 機制

Spring Boot Starter 是 Spring Boot 的 星辰大海。

正是因為豐富的 Spring Boot Starter ,讓 Spring Boot 征服了使用各個開源軟件的開發者,只要 Spring Boot Starter 指向哪個開源軟件,就會讓某個開源軟件變得異常好用。

這真的是這樣,有一種神筆馬良的感覺(誇張了一點)。

那什麼是 Spring Boot Starter 呢?

在 Spring Boot 中,Starter 是為快速應用開發提供“一站式服務”的依賴(Dependency)。Starter 使得開發人員在開始編寫新的模塊時不需要拷貝樣板式的配置文件、編寫樣板式的代碼,只需要提供最簡單的配置即可開始編程。

Spring Boot Starter 有兩個核心組件:自動配置代碼和提供自動配置模塊及其它有用的依賴。也就意味著當我們項目中引入某個 Starter ,即擁有了此軟件的默認使用能力,除非我們需要特定的配置,一般情況下我僅需要少量的配置或者不配置即可使用組件對應的功能。

Spring Boot 由眾多 Starter 組成,隨著版本的推移 Starter 家族成員也與日俱增。在傳統 Maven 項目中通常將一些層、組件拆分為模塊來管理,以便相互依賴複用,在 Spring Boot 項目中我們則可以創建自定義 Spring Boot Starter 來達成該目的。

Spring Boot Starter 統一了使用不同軟件的編程體驗。

在沒有使用 Spring Boot Starter 之前,我們需要按照每個開源軟件的特性,將對應的組件包集成到我們的開發項目中,因為每個組件的設計理念和開發團隊都不一致,因此會有很多不同的調用風格在我們的項目中。

Spring Boot 強大到很多技術社區都主動提供了對應的 Starter 組件,比如 MyBatis 、Apache Camel、Apache CXF 等等。隨著 Spring Boot 的發展 Starter 組件會越來越多。

Spring Boot 非常強大的原因之一就是提供了大量的 Spring Boot Starter ,如此多的“開箱即用” 的依賴模塊,讓我們在日常開發中“拿來即用”,以便更加快速和高效專注於業務開發。

03. Spring Boot 的豪華開發團隊

我們經常會看到在介紹 Spring Boot 的時候有這麼一句:Spring Boot 是由 Pivotal 團隊提供的全新框架。由此我們得知 Spring Boot 是由 Pivotal 團隊所研發,那麼 Pivotal 團隊到底是一個什麼樣的團隊呢?其實這裡的 Pivotal 團隊是指 Pivotal 公司。

Pivotal 公司介紹:致力於“改變世界構造軟件的方式(We are transforming how the world builds software)”,提供雲原生應用開發 PaaS 平臺及服務,幫助企業客戶採用敏捷軟件開發方法論,從而提高軟件開發人員工作效率、減少運維成本,實現數字化轉型、IT 創新,並最終實現業務創新。

Pivotal 公司可謂是大牛雲集,公司研發的產品有: Spring 以及衍生框架、緩存中間件 Redis、消息隊列框架 RabbitMQ、數據引擎產品 Greenplum,還有 Tomcat、Groovy 裡的一些頂級開發者,DevOps 理論的提出者都在這個公司。

2016 年風靡全球的雲原生理念亦是 Pivotal 公司提出,美國硅谷著名的精益化創業書籍的作者 Eric Ries 也加入了 Pivotal公司。Spring Boot 為什麼如此的優秀,正是因為背後有這些全球的頂級開發者。

Pivotal 公司的背後其實是一場商業併購大片,有很多著名的公司在其身後,戴爾、Spring、EMC、VMware 等等,詳情大家開源看這篇文章:《是時候給大家介紹 Spring Boot/Cloud 背後豪華的研發團隊了》

04. 有個好乾爹

Spring Boot 的乾爹是誰呢?毫無疑問就是 Spring 了。有圖為證,看下面:


Spring Boot 為什麼這麼火火火火火火?


Spring Boot 完全依賴 Spring 來開發,發明 Spring Boot 也是為了讓大家更好的使用 Spring,而不是消滅 Spring ,所以說沒有 Spring 這個乾爹,就沒有 Spring Boot 。

當然 Spring Boot 不僅是基於 Spring 開發這麼簡單,Spring Boot 完全繼承了 Spring 乾爹的聲譽,說實話如果沒有 Spring 這個老幹爹十多年來打拼下來的天氣,哪有 Spring Boot 今天來的風光。

2002 年的時候, Rod Johnson 可能也沒有想到自己開創的一個小開源軟件,可以發展到今天這麼輝煌的一刻。到了今天,如果一個 Java 程序員說自己不知道 Spring ,那估計會把他當作外星人吧。

Spirng 當時以 IoC 和 Aop 開始發家,一開始的目標只是想幹掉 EJB 這個龐然大物,但是隨著時間的發展,Spring 開始了一路的逆襲之路,在2010年的時候 Spring 還是 SSH 三大框架之一,到了今天 Spring 要說自己是老二,還這沒有人敢說自己是第一。

正是因為 Spring 在 Java 社區中有如此強大的影響力,所以在 Spring Boot 一出生的時候,就受到了廣大社區愛好者的關注、使用、寫教程、貢獻代碼、提 Bug。正是因為龐大的開源愛好者,才一起反鋪 Spring Boot ,讓 Spring Boot 發展這麼快,這麼好。

以上便是我個人對 Spring Boot 為什麼這麼火的一些淺薄見解,大家是怎麼認為的呢,歡迎給我留言。

"

相關推薦

推薦中...