說一說Spring家族

做Java開發(fā)的不可能沒用過Spring框架,對Spring框架的應(yīng)用和理解幾乎也是面試標(biāo)配的問題。不過你有細數(shù)過Spring家族都有哪些項目么?今天來簡單整理下~

Spring io platform

Spring起初只專注ioc和aop,現(xiàn)在已發(fā)展成一個龐大體系。比如security、mvc等。如此一來,不同模塊或者與外部進行集成時,依賴處理就需要各自對應(yīng)版本號。比如,較新spring與較老的quartz,它們集成就會遇到問題,給搭建和升級帶來不便。
因此Spring IO Platform應(yīng)運而生,只要項目中引入了它,外部集成時依賴關(guān)系無需版本號

官方文檔

Spring boot

Spring Boot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。

優(yōu)缺點

Spring framework

Java開發(fā)最常用的版本,整合了一些核心模塊,具體如下:

  • spring-aop
  • spring-aspects
  • spring-beans
  • spring-context
  • spring-core
  • spring-expression
  • spring-framework-bom
  • spring-instrument
  • spring-jdbc
  • spring-jms
  • spring-messaging
  • spring-orm
  • spring-oxm
  • spring-text
  • spring-tx
  • sprng-web-reactive
  • spring-web
  • spring-webmvc
  • spring-websocket

Spring cloud data flow

官方表示是大數(shù)據(jù)產(chǎn)品Spring XD的升級替代產(chǎn)品,Spring Cloud Data Flow繼承了Spring XD的優(yōu)點,并提供了更有擴展性的解決方案——利用云技術(shù)的原生方式。Spring Cloud Data Flow是一個混合計算模型,結(jié)合了流數(shù)據(jù)與批量數(shù)據(jù)的處理方式。開發(fā)者可以通過Spring Cloud Data Flow,在諸如數(shù)據(jù)獲取、實時分析、批處理等常見用例中執(zhí)行數(shù)據(jù)流的創(chuàng)建與編排。Spring Cloud Data Flow的目標(biāo)就是為了方便數(shù)據(jù)工程師,讓他們能專注于分析工作和具體的問題。Spring Cloud Data Flow僅提供了管理服務(wù)的模型。

參考

Spring cloud

Spring Cloud 是Pivotal提供的用于簡化分布式系統(tǒng)構(gòu)建的工具集。Spring Cloud引入了云平臺連接器(Cloud Connector)和服務(wù)連接器(Service Connector)的概念。云平臺連接器是一個接口,需要由云平臺提供者進行實現(xiàn),以便庫中的其他模塊可以與該云平臺協(xié)同工作。

參考

spring data

Spring Data是一個用于簡化數(shù)據(jù)庫訪問,并支持云服務(wù)的開源框架。其主要目標(biāo)是使得數(shù)據(jù)庫的訪問變得方便快捷,并支持map-reduce框架和云計算數(shù)據(jù)服務(wù)。此外,它還支持基于關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)服務(wù),如Oracle RAC等。對于擁有海量數(shù)據(jù)的項目,可以用Spring Data來簡化項目的開發(fā),就如Spring Framework對JDBC、ORM的支持一樣,Spring Data會讓數(shù)據(jù)的訪問變得更加方便。

Spring integration

Spring integration是一種企業(yè)級的事件驅(qū)動消息框架,你可以用它協(xié)同消息、通道、適配器、網(wǎng)關(guān)。

參考

Spring batch

Spring Batch是一個輕量級的,完全面向Spring的批處理框架,可以應(yīng)用于企業(yè)級大量的數(shù)據(jù)處理系統(tǒng)。Spring Batch以POJO和大家熟知的Spring框架為基礎(chǔ),使開發(fā)者更容易的訪問和利用企業(yè)級服務(wù)。Spring Batch可以提供大量的,可重復(fù)的數(shù)據(jù)處理功能,包括日志記錄/跟蹤,事務(wù)管理,作業(yè)處理統(tǒng)計工作重新啟動、跳過,和資源管理等重要功能。

Spring security

安全框架,不多說了,對比產(chǎn)品有apache的shiro框架。

spring security Vs apache shiro

Spring hateoas

HATEOAS (Hypermedia as the Engine of Application State) 是 REST 架構(gòu)風(fēng)格上的一種限制?;?HATEOAS 的 REST 服務(wù)可以允許服務(wù)端和客戶端在最大程度上的解耦??蛻舳撕头?wù)端并不需要嚴(yán)格的接口規(guī)范??蛻舳丝梢酝ㄟ^服務(wù)端提供的超媒體表示來動態(tài)與服務(wù)端進行交互。Spring HATEOAS 與 Spring 框架中已有的 Web 服務(wù)功能很好的整合在一起,可以創(chuàng)建滿足 HATEOAS 要求的 REST 服務(wù)。

參考

Spring social

Spring Social 是 Spring 框架中的一個子項目,該項目提供了一個可擴展的框架,允許開發(fā)人員很方便地與其他社交網(wǎng)絡(luò)平臺進行集成,同時也提供了流行社交平臺的相關(guān) API 支持。

參考

Spring amqp

Spring AMQP項目將Spring的核心思想應(yīng)用于基于AMQP的消息解決方案的開發(fā)上。它提供了“template”這個高度抽象來發(fā)送和接收信息。它同樣提供了消息驅(qū)動的實體,這些實體存在于“listener container”容器中。這些庫不但使得AMQP資源的管理變得容易,與此同時促進了依賴注入和聲明式配置的使用。在所有的情況下,你將看到許多Spring框架提供的類似于JMS的便利。

Spring mobile

Spring mobile這個項目比較簡單,主要用于識別用戶端的訪問是來自PC、手機、還是平板。

Spring for android

Spring For Android是Spring框架的一個擴展,其主要目的在乎簡化Android本地應(yīng)用的開發(fā),這其中包括了你可以使用該項目提供的RestTemplate來為你的Android客戶端提供REST服務(wù),另外該項目還提供了跟其它諸如Twitter和Facebook等社交網(wǎng)絡(luò)的集成與OAuth授權(quán)客戶端等。

Spring web flow

剛開始看到這個名字以為是和Jbpm一個量級的產(chǎn)品,后來發(fā)現(xiàn)不太一樣,SWF只適合處理復(fù)雜頁面流程控制邏輯,更傾向于page flow。而且在國內(nèi)應(yīng)用貌似不太受重視。

Spring web service

用于開發(fā)webserive服務(wù),本人關(guān)注的不太多,先挖個坑吧~

Spring ldap

Spring ldap主要用于更方便的對ldap進行數(shù)據(jù)的CURD操作。

spring session

Spring session提供了一套企業(yè)級的session管理方案,方便構(gòu)建水平化的應(yīng)用。

參考

Spring shell

Spring shell提供了一套交互式設(shè)計的shell。

Spring xd

大數(shù)據(jù)處理解決方案。

Spring flo

Spring Flo 是一個 JavaScript 庫,是基于 Spring Cloud Data Flow 中的流構(gòu)建器。

Spring kafka

主要用于集成kafka使用。


未完待續(xù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,284評論 6 342
  • 軟件是有生命的,你做出來的架構(gòu)決定了這個軟件它這一生是坎坷還是幸福。 本文不是講解如何使用Spring Cloud...
    Bobby0322閱讀 23,004評論 3 166
  • 悠閑的時光總是不長久。曾清從的家事處理的不慢,沒幾天又出現(xiàn)在劇場里了。一樣的冷臉,一樣的吹毛求疵。別的倒罷了,到了...
    毛彩虹閱讀 725評論 1 35
  • 驀然回首不見君,雪上空流獨行處 故事還未完, 路很長 記憶卻短暫 2月飛雪,你是有六片花瓣呢,還是八片花瓣,在這個...
    快樂的樂閱讀 233評論 2 1

友情鏈接更多精彩內(nèi)容