Spring起初只專一ioc和aop,如今已發展成一個龐大致系。好比security、mvc等。如此一來,不一樣模塊或者與外部進行集成時,依賴處理就須要各自對應版本號。好比,較新spring與較老的quartz,它們集成就會遇到問題,給搭建和升級帶來不便。
所以Spring IO Platform應運而生,只要項目中引入了它,外部集成時依賴關係無需版本號react
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員再也不須要定義樣板化的配置。經過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成爲領導者。android
Java開發最經常使用的版本,整合了一些核心模塊,具體以下:web
官方表示是大數據產品Spring XD的升級替代產品,Spring Cloud Data Flow繼承了Spring XD的優勢,並提供了更有擴展性的解決方案——利用雲技術的原生方式。Spring Cloud Data Flow是一個混合計算模型,結合了流數據與批量數據的處理方式。開發者能夠經過Spring Cloud Data Flow,在諸如數據獲取、實時分析、批處理等常見用例中執行數據流的建立與編排。Spring Cloud Data Flow的目標就是爲了方便數據工程師,讓他們能專一於分析工做和具體的問題。Spring Cloud Data Flow僅提供了管理服務的模型。spring
Spring Cloud 是Pivotal提供的用於簡化分佈式系統構建的工具集。Spring Cloud引入了雲平臺鏈接器(Cloud Connector)和服務鏈接器(Service Connector)的概念。雲平臺鏈接器是一個接口,須要由雲平臺提供者進行實現,以便庫中的其餘模塊能夠與該雲平臺協同工做。shell
Spring Data是一個用於簡化數據庫訪問,並支持雲服務的開源框架。其主要目標是使得數據庫的訪問變得方便快捷,並支持map-reduce框架和雲計算數據服務。此外,它還支持基於關係型數據庫的數據服務,如Oracle RAC等。對於擁有海量數據的項目,能夠用Spring Data來簡化項目的開發,就如Spring Framework對JDBC、ORM的支持同樣,Spring Data會讓數據的訪問變得更加方便。數據庫
Spring integration是一種企業級的事件驅動消息框架,你能夠用它協同消息、通道、適配器、網關。express
Spring Batch是一個輕量級的,徹底面向Spring的批處理框架,能夠應用於企業級大量的數據處理系統。Spring Batch以POJO和你們熟知的Spring框架爲基礎,使開發者更容易的訪問和利用企業級服務。Spring Batch能夠提供大量的,可重複的數據處理功能,包括日誌記錄/跟蹤,事務管理,做業處理統計工做從新啓動、跳過,和資源管理等重要功能。apache
安全框架,很少說了,對比產品有apache的shiro框架。api
HATEOAS (Hypermedia as the Engine of Application State) 是 REST 架構風格上的一種限制。基於 HATEOAS 的 REST 服務能夠容許服務端和客戶端在最大程度上的解耦。客戶端和服務端並不須要嚴格的接口規範。客戶端能夠經過服務端提供的超媒體表示來動態與服務端進行交互。Spring HATEOAS 與 Spring 框架中已有的 Web 服務功能很好的整合在一塊兒,能夠建立知足 HATEOAS 要求的 REST 服務。安全
Spring Social 是 Spring 框架中的一個子項目,該項目提供了一個可擴展的框架,容許開發人員很方便地與其餘社交網絡平臺進行集成,同時也提供了流行社交平臺的相關 API 支持。
Spring AMQP項目將Spring的核心思想應用於基於AMQP的消息解決方案的開發上。它提供了「template」這個高度抽象來發送和接收信息。它一樣提供了消息驅動的實體,這些實體存在於「listener container」容器中。這些庫不但使得AMQP資源的管理變得容易,與此同時促進了依賴注入和聲明式配置的使用。在全部的狀況下,你將看到許多Spring框架提供的相似於JMS的便利。
Spring mobile這個項目比較簡單,主要用於識別用戶端的訪問是來自PC、手機、仍是平板。
Spring For Android是Spring框架的一個擴展,其主要目的在意簡化Android本地應用的開發,這其中包括了你能夠使用該項目提供的RestTemplate來爲你的Android客戶端提供REST服務,另外該項目還提供了跟其它諸如Twitter和Facebook等社交網絡的集成與OAuth受權客戶端等。
剛開始看到這個名字覺得是和Jbpm一個量級的產品,後來發現不太同樣,SWF只適合處理複雜頁面流程控制邏輯,更傾向於page flow。並且在國內應用貌似不太受重視。
用於開發webserive服務,本人關注的不太多,先挖個坑吧~
Spring ldap主要用於更方便的對ldap進行數據的CURD操做。
Spring session提供了一套企業級的session管理方案,方便構建水平化的應用。
Spring shell提供了一套交互式設計的shell。
大數據處理解決方案。
Spring Flo 是一個 JavaScript 庫,是基於 Spring Cloud Data Flow 中的流構建器。
主要用於集成kafka使用。