电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java Springboot之Spring家族的技術體系

瀏覽:21日期:2022-08-12 10:01:10
目錄一、Why二、Spring 家族技術生態全景圖三、Spring Framework 的整體架構四、Spring Boot 與 Web 應用程序五、支持運行期內嵌容器(傳統 Web 容器& 非阻塞式容器)六、自動配置七、內置的監控機制八、Spring Cloud (Netflix)與微服務架構九、Spring 5 與響應式編程十、小結一、Why

Spring Boot 在傳統 Spring 框架的基礎上做了創新和優化,將開發人員從以往煩瑣的配置工作中解放出來,并提供了大量即插即用的集成化組件,從而解決了各種組件之間復雜的整合過程,大大提高了開發效率,降低了維護成本。

比如, 原本使用的是 Spring MVC 框架, 在整個開發過程中,除了需要編寫一大堆配置文件、針對每個層次引入專門的開發組件外,還需要獨立部署和管理應用服務器。最后,為了對系統的運行狀態進行有效監控,還需要引入一些并不好用的外部框架。

而使用了 Spring Boot 框架,因為它直接解決了使配置 、 編程 、 部署 、 監控 ,好用、簡單又高效。

越來越強大的 Spring Boot 儼然是 Java EE 領域的標準開發框架了。熟練掌握 Spring Boot 中的各項技術組件,并能夠在一定程度上掌握其內部運行機制,是從事 Java 應用程序開發的基本要求,也是學習 Spring Cloud 等微服務開發框架的基礎。

二、Spring 家族技術生態全景圖

Spring 框架自 2003 年由 Rod Johnson 設計并實現以來,經歷了多個重大版本的發展和演進,已經形成了一個龐大的家族式技術生態圈。目前,Spring 已經是 Java EE 領域最流行的開發框架,在全球各大企業中都得到了廣泛應用。

讓我們先來看一下 Spring 家族技術生態的全景圖。

訪問 下Spring 的官方網站 https://spring.io/

Java Springboot之Spring家族的技術體系

從圖中可以看到,這里羅列了 Spring 框架的七大核心技術體系,分別是微服務架構、響應式編程、云原生、Web 應用、Serverless 架構、事件驅動以及批處理

這些技術體系各自獨立但也有一定交集,例如微服務架構往往會與基于 Spring Cloud 的云原生技術結合在一起使用,而微服務架構的構建過程也需要依賴于能夠提供 RESTful 風格的 Web 應用程序等。

另一方面,在具備特定的技術特點之外,這些技術體系也各有其應用場景。

舉個例子

如果我們想要實現日常報表等輕量級的批處理任務,而又不想引入 Hadoop 這套龐大的離線處理平臺時,使用基于 Spring Batch 的批處理框架是一個不錯的選擇 如果想要實現與 Kafka、RabbitMQ 等各種主流消息中間件之間的集成,屏蔽這些中間件在使用上的差別,那么使用基于 Spring Cloud Stream 的事件驅動架構對外提供了統一的 API, 屏蔽了內部各個中間件在實現上的差異性。

在日常開發過程中,如果構建單塊 Web 服務,可以采用 Spring Boot。如果想要開發微服務架構,那么就需要使用基于 Spring Boot 的 Spring Cloud,而 Spring Cloud 同樣內置了基于 Spring Cloud Stream 的事件驅動架構。

同時, 特別強調的是響應式編程技術。響應式編程是 Spring 5 引入的最大創新,代表了一種系統架構設計和實現的技術方向。因此,我們也將從 Spring Boot、Spring Cloud 以及 Spring 響應式編程這三個技術體系進行切入,看看 Spring 具體能夠為我們解決開發過程中的哪些問題。

三、Spring Framework 的整體架構

當然,所有我們現在能看到的 Spring 家族技術體系都是在 Spring Framework 基礎上逐步演進而來的。在介紹上述技術體系之前,我們先簡單了解下 Spring Framework 的整體架構,如下圖所示:

【4.x】

Java Springboot之Spring家族的技術體系

四、Spring Boot 與 Web 應用程序

Spring Boot 構建在 Spring Framework 基礎之上,是新一代的 Web 應用程序開發框架。

我們可以通過下面這張圖來了解 Spring Boot 的全貌:

Java Springboot之Spring家族的技術體系

通過瀏覽 Spring 的官方網站,我們可以看到 Spring Boot 已經成為 Spring 中頂級的子項目。自 2014 年 4 月發布 1.0.0 版本以來,Spring Boot 儼然已經發展為 Java EE 領域開發 Web 應用程序的首選框架。

先來感受一下使用 Spring Boot 開發一個 RESTful風格 的 HTTP 端點所需要做的編碼工作,如下所示:

@SpringBootApplication@RestControllerpublic class DemoApplication { @GetMapping('/helloworld')public String hello() { return 'Hello World!';} public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args); }}

一個經典的“Hello World”程序,而且使用 Spring Boot 來構建這樣一個支持 RESTful 風格的 Web 應用程序只需要幾秒鐘。

一旦創建了一個 Spring Boot 應用程序,并添加類似上面的 DemoApplication 類,我們就可以啟動 Spring Boot 內置的 Web 服務器并監聽 8080 端口,剩余的一切工作 Spring Boot 都幫你自動完成了。

五、支持運行期內嵌容器(傳統 Web 容器& 非阻塞式容器)

Spring Boot 具備了傳統 Spring 框架所不具備的功能特性,即支持運行期內嵌容器(包含 Tomcat、Jetty 等支持 Servlet 規范的多款傳統 Web 容器)

在最新的 Spring Boot 2.X 版本中,還提供了對 Netty 以及集成 Servlet 3.1+ 的非阻塞式容器的支持。基于運行期內嵌容器機制

開發人員想要啟動Web 服務只需要使用一行 java ?jar 命令就可以了。

Java Springboot之Spring家族的技術體系

六、自動配置

我們還發現 Spring Boot 的核心功能就是自動配置

我們可以看到 Spring Boot 并沒有像以前使用 Spring MVC 一樣需要指定一大堆關于 HTTP 請求和響應的 XML 配置。

事實上,Spring Boot 的運行過程同樣還是依賴于 Spring MVC,但是它把原本需要開發人員指定的各種配置項設置了默認值,并內置在了運行時環境中,例如默認的服務器端口就是 8080,如果我們不需要對這些配置項有定制化需求,就可以不做任何的處理,采用既定的開發約定即可。這就是 Spring Boot 所倡導的約定優于配置(Convention over Configuration)設計理念

Java Springboot之Spring家族的技術體系

七、內置的監控機制

另外,相較傳統的 Spring 框架,Spring Boot 的一大亮點是引入了內置的監控機制,這是通過 Actuator 組件(常見的包括內存信息、JVM 信息、垃圾回收信息等)來實現的。基于 Actuator 組件,一方面我們可以查看包含自動配置在內的應用程序詳細信息,另一方面可以實時監控該應用程序的運行時健康狀態。

Java Springboot之Spring家族的技術體系

可以看到,Spring Boot 的上述功能實際上從多個維度簡化了 Web 應用程序的開關過程,這些維度包含編碼、配置、部署和監控等。

八、Spring Cloud (Netflix)與微服務架構

Spring Cloud 構建在 Spring Boot 基礎之上,它的整體架構圖如下所示:

Java Springboot之Spring家族的技術體系

技術組件的完備性是 Spring Cloud 框架的主要優勢,它集成了業界一大批知名的微服務開發組件。Spring Cloud 的核心組件如下圖所示

Java Springboot之Spring家族的技術體系

可以看到,基于 Spring Boot 的開發便利性,Spring Cloud 巧妙地簡化了微服務系統基礎設施的開發過程,Spring Cloud 包含上圖中所展示的服務發現注冊、API 網關、配置中心、消息總線、負載均衡、熔斷器、數據監控等

九、Spring 5 與響應式編程

隨著 Spring 5 的正式發布,我們迎來了響應式編程(Reactive Programming)的全新發展時期。Spring 5 中內嵌了與數據管理相關的響應式數據訪問、與系統集成相關的響應式消息通信以及與 Web 服務相關的響應式 Web 框架等多種響應式組件,從而極大地簡化了響應式應用程序的開發過程和開發難度。

下圖展示了響應式編程的技術棧與傳統的 Servlet 技術棧之間的對比:

Java Springboot之Spring家族的技術體系

從上圖可以看到,上圖左側為基于 Spring WebFlux 的技術棧,右側為基于 Spring MVC 的技術棧。我們知道傳統的 Spring MVC 構建在 Java EE 的 Servlet 標準之上,該標準本身就是阻塞式和同步的,而 Spring WebFlux 基于響應式流,因此可以用來構建異步非阻塞的服務

在 Spring 5 中,選取了 Project Reactor 作為響應式流的實現庫。由于響應式編程的特性,Spring WebFlux 和 Project Reactor 的運行需要依賴于諸如 Netty 和 Undertow 等支持異步機制的容器。同時我們也可以選擇使用較新版本的 Tomcat 和 Jetty 作為運行環境,因為它們支持異步 I/O 的 Servlet 3.1

下圖更加明顯地展示了 Spring MVC 和 Spring WebFlux 之間的區別和聯系:

Java Springboot之Spring家族的技術體系

在基于 Spring Boot 以及 Spring Cloud 的應用程序中,Spring WebFlux 和 Spring MVC 可以混合進行使用。

十、小結

我們主要圍繞 Spring Boot 框架展開討論,分別從配置體系、數據訪問、Web 服務、消息通信、系統安全、系統監控、應用測試等維度對該框架進行深入的剖析,所采用的版本為 2.2.X 版。

系統分析了 Spring 家族的技術生態,并重點介紹了 Spring Boot、Spring Cloud 和 Spring 響應式編程這三大技術體系。從技術演進的過程和趨勢而言,這些工具和框架的出現有其必然性。Spring Boot 是對傳統 Spring MVC 的改進,Spring Cloud 基于 Spring Boot 構建微服務架構,而響應式編程則代表未來技術的發展方向。

到此這篇關于Java Springboot之Spring家族的技術體系的文章就介紹到這了,更多相關Spring家族的技術體系內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 河南15年专业网站建设制作设计,做网站就找郑州启凡网络公司 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 新能源汽车电机定转子合装机 - 电机维修设备 - 睿望达 | 密封无忧网 _ 专业的密封产品行业信息网 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 博医通医疗器械互联网供应链服务平台_博医通 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 交流伺服电机|直流伺服|伺服驱动器|伺服电机-深圳市华科星电气有限公司 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 江门流水线|江门工作台|江门市伟涛行工业设备有限公司 | 海水晶,海水素,海水晶价格-潍坊滨海经济开发区强隆海水晶厂 | 纯水设备_苏州皙全超纯水设备水处理设备生产厂家 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 乙炔气体报警装置|固定式氯化氢检测仪|河南驰诚电气百科 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 高博医疗集团上海阿特蒙医院| 铸铁平台,大理石平台专业生产厂家_河北-北重机械 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 活性炭厂家-蜂窝活性炭-粉状/柱状/果壳/椰壳活性炭-大千净化-活性炭 |