Java - Spring

Spring

 
Spring、Spring Framework、Spring Boot、Spring Cloud的區別
Java面向對象---》Spring Framework ---》Spring Boot---》Spring Cloud
  • Spring是一個生態體系(技術體系),是集大成者,包含了Spring Framework、Spring Boot、Spring Cloud等(具體性信息:https://spring.io/projects)
  • Spring Framework是整個spring生態的基石,爲依賴注入、事務管理、WEB應用、數據訪問等提供了核心的支持。
  • Spring Boot 是基於Spring的一套快速配置腳手架,可以快速構建功能強大的微服務和應用,本身不具備任何功能屬性
  • Spring Cloud是基於Spring Boot實現的雲應用開發工具,將經過驗證的微服務模式融入程序,提供配置存儲、服務發現、消息傳遞等功能。
  • Spring Boot可以離開Spring Cloud獨立使用開發項目,但是Spring Cloud離不開Spring Boot,屬於依賴的關係。
 

Spring Framework

整個spring生態的基石,爲依賴注入、事務管理、WEB應用、數據訪問等提供了核心的支持。
專注於企業級應用程序的“管道”,以便開發團隊可以專注於應用程序的業務邏輯。
 

Spring Boot

簡化了基於spring framework應用的初始搭建以及開發過程,通過少量的代碼就能創建一個獨立的、產品級別的spring應用。 
默認集成了常用框架和包,爲Spring平臺及第三方庫提供開箱即用的設置,多數Spring Boot應用只需要很少的Spring配置。
也就是說Spring Boot的核心思想就是約定大於配置,一切自動完成。
Spring Boot是大勢所趨,是 Java 領域最優秀的微服務架構落地技術,將統一現在的Java企業級應用開發標準。
  • 使編碼變簡單:提供了豐富的解決方案,快速集成各種解決方案提升開發效率。
  • 使配置變簡單:提供了豐富的 Starters,集成主流開源產品往往只需要簡單的配置即可。
  • 使部署變簡單:本身內嵌啓動容器,僅僅需要一個命令即可啓動項目,結合 Jenkins 、Docker 自動化運維非常容易實現。
  • 使監控變簡單:自帶監控組件,使用 Actuator 輕鬆監控服務各項狀態。
 

Spring Cloud

微服務是可以獨立部署、水平擴展、獨立訪問(或者有獨立的數據庫)的服務單元。
採用了微服務架構之後,項目的數量會非常多,Spring Cloud做爲“大管家”提供各種方案來維護整個微服務架構的生態。
也就是說Spring Cloud是一套分佈式服務治理的框架,本身不會提供具體功能性的操作,專注於服務之間的通訊、熔斷、監控等。
Spring Cloud利用Spring Boot的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,是一套簡單易懂、易部署和易維護的分佈式系統開發工具包。
也就是說,Spring Cloud事實上是一整套基於Spring Boot的微服務解決方案,提供了用於快速構建分佈式系統的一些通用模式和工具,簡單易懂、易部署和易維護。
 
目前,規模性的公司都有自己一套完整的微服務解決方案,通常不會整體採用Spring Cloud。
而且,Spring Cloud的每一個微服務組件都面對很多優秀的開源可替代方案,如果採用Spring Cloud,就必須謹慎選擇每一個引入項目的組件。
所以,當前的瞭解應該以Spring Framework和Spring Boot爲主,而不是Spring Cloud。
 

參考消息

 
SpringBoot
 
SpringBoot
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章