當咱們談論Spring時咱們在談論什麼

Spring在不一樣的語境下有着不一樣的含義,咱們打開Spring的官網(spring.io),他的首頁介紹了Spring生態的重要組成部分,咱們一個一個來看:html

  • Spring Framework 5
  • Spring Boot
  • Spring Cloud
  • Spring Cloud Data Flow

Spring Framework即Spring框架,最先的版本在03年的時候發佈(來源),目的是爲了簡化J2EE(後來更名爲Java EE,後來又改爲Jarkata EE)開發的複雜性。你可能認爲Spring框架和Java EE是競爭者的關係,實際上Spring框架聽從了Java EE的部分規範,好比Servlet APIBean ValidationJPA等。算是取其精華,棄之糟粕。java

Spring框架由多個模塊兒組成,有管Web的,有管數據庫相關的,還有最重要的核心容器,這個以後我會着重講解,讓你理解IoC,AOP那一套東西。全部模塊都有統一的版本號,好比Spring框架如今的最新版本是5.1.7那麼每一個模塊兒都有5.1.7版本。若是你想要用Spring框架搭建一個網站,是徹底能夠的,只不過須要通過一番配置,這個過程說難也不難,說簡單也也不簡單。你確定聽到過有人抱怨Spring一堆xml配置紛繁複雜,不過那都是老黃曆了,如今你能夠直接使用Java代碼來進行配置,很是直觀。從Spring Boot誕生以後,「配置」這個東西,有了更進一步的簡化。spring

Spring Boot能夠幫你快速搭建並運行Spring應用,他直接把你之前須要手動配置的東西,按照經常使用的約定配置好,若是默認配置不能知足你的需求,能夠在統一的配置文件中進行自定義。這種作法無疑下降了新手入門的門檻。Spring Boot可讓你的應用經過java -jar app.jar的方式運行,部署起來更爲方便。數據庫

Spring Cloud基於Spring Boot,它爲分佈式系統中常見的應用場景提供瞭解決方案,開發者省的去本身開發這些基礎設施了。若是你找過相關的資料,那你必定據說過這些名詞:服務發現和註冊、負載均衡、配置中心、熔斷機制等等,有了Spring Cloud,這些功能開箱即用。springboot

Spring Cloud Data Flow的相關資料會少一點,我尋找了半天,多是由於段位不夠,沒能徹底搞清楚他。我但願能找到一篇文章,能說明白它的使用場景,數據從哪裏產生,怎麼收集,怎麼處理,怎麼展現等等。微信

除了上面提到的四個項目,Spring家族還有不少項目被普遍應用:session

  • Spring Data 提供了對各類各樣數據庫的支持,包括關係型和非關係型的,集中式和分佈式的,雲端的和本地的等等
  • Spring Security 強大而且高度可定製化的認證與受權框架
  • Spring Session 集羣的session共享方案,能夠與HttpSession無縫集成,支持的存儲方式也是多種多樣
  • 還有十幾個

Spring全家桶目前由Pivotal公司主導,能夠理解爲Spring爲後者的一個產品,Pivotal由VMware和EMC聯合成立,其發展歷程能夠看看這裏。Spring通過十幾年的發展,已經創建起了強大而豐富的生態,若是你搞Java Web開發,確定免不了和它打交道。若是你也打算學習,不妨訂閱個人博客(fookwood.com)或者公衆號(微信搜索「悶瓜蛋子」),我將會持續輸出相關內容。app

原文連接:fookwood.com/talking-abo…負載均衡

相關文章
相關標籤/搜索