Spring、Spring Framework、Spring Boot、Spring Cloud的區別
阿新 • • 發佈:2021-10-21
Spring Boot是大勢所趨,而且它就像當年Spring Framework幹掉EJB一樣,幹掉WEB容器+WAR的開發模式,統一現在的Java企業級應用開發標準。
- Spring
Spring是一個生態體系(也可以說是技術體系),是集大成者,它包含了Spring Framework、Spring Boot、Spring Cloud等(還包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),可以參考連結:https://spring.io/projects
- Spring Framework
Spring Framework是整個spring生態的基石,它可是硬生生的消滅了Java官方主推的企業級開發標準EJB,從而實現一統天下。Spring官方對Spring Framework簡短描述:為依賴注入、事務管理、WEB應用、資料訪問等提供了核心的支援。Spring Framework專注於企業級應用程式的“管道”,以便開發團隊可以專注於應用程式的業務邏輯。
但是,無論Spring Framework介面如何簡化,設計如何優美,始終無法擺脫被動的境況:由於它自身並非容器,所以基本上不得不隨JavaEE容器啟動而裝載,例如Tomcat、Jetty、JBoss等。然而Spring Boot的出現,改變了Spring Framework甚至整個Spring技術體系的現狀。
- Spring Boot
SpringBoot本身更傾向於快速開發,快速構建,快速整合的這樣的功能,通過用MAVEN依賴的繼承方式,幫助我們快速整合第三方常用框架,完全採用註解化(使用註解方式啟動SpringMVC),簡化XML配置,內建HTTP伺服器(Tomcat,Jetty),最終以Java應用程式進行執行。
官方對Spring Boot的定義:
Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opinionated view of building production-ready applications.
- Spring Cloud
Spring Cloud事實上是一整套基於Spring Boot的微服務解決方案,它是是一系列框架的有序集合。它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過SpringBoot風格進行再封裝遮蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分散式系統開發工具包。它利用Spring Boot的開發便利性巧妙地簡化了分散式系統基礎設施的開發,如服務發現註冊、註冊中心、訊息匯流排、負載均衡、斷路器、資料監控、配置管理、限流、閘道器、鏈路追蹤等,都可以用SpringBoot的開發風格做到一鍵啟動和部署。
綜上,筆者得出的結論是:Spring Boot是大勢所趨,而且它就像當年Spring Framework幹掉EJB一樣,幹掉WEB容器+WAR的開發模式,統一現在的Java企業級應用開發標準。至於Spring Cloud?請謹慎選擇每一個引入專案的元件,畢竟它的每一個微服務元件都面對很多優秀的開源可替代方案。
所以,我們學習的時候不要避重就輕,應該以Spring Framework和Spring Boot為主,而不是Spring Cloud。
頂 Top 收藏 關注 評論