久久久久国产精品一区二区_国产精品第2页_99久久精品免费看_欧美aaaaaaaa

IDC知識庫
IDC領域專業知識百科平臺

JAVA Spring Boot框架介紹

Spring Boot 是由 Pivotal 團隊提供的基于 Spring 的全新框架,旨在簡化 Spring 應用的初始搭建和開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。

Spring 官網給的定義是:Spring Boot 是所有基于 Spring 開發項目的起點。Spring Boot 集成了絕大部分目前流行的開發框架,就像 Maven 集成了所有的 JAR 包一樣,Spring Boot 集成了幾乎所有的框架,使得開發者能快速搭建 Spring 項目。

Spring Boot 的核心設計思想是“約定優于配置”。基于這一設計原則,Spring Boot 極大地簡化了項目和框架的配置。比如在使用 Spring 開發 Web 項目時,我們需要配置 web.xml、Spring 和 MyBatis 等,還需要將它們集成在一起。而使用 Spring Boot 一切將變得極其簡單,它采用了大量的默認配置來簡化這些文件的配置過程,只需引入對應的 Starters(啟動器)。

Spring Boot 可以構建一切。設計它就是為了使用最少的配置,以最快的速度來啟動和運行 Spring 項目。

Spring Boot的背景

多年來,隨著 Spring 的飛速發展,新功能不斷增加,Spring 變得越來越復雜。

通過訪問 Spring 官網就可以看到 Spring 的所有子項目和組件框架,如此多的子項目和組件使得 Spring 逐漸笨重起來,這顯然已經無法適應云計算和微服務時代的發展趨勢。

于是 Spring Boot 應運而生。Spring Boot 建立在 Spring 基礎之上,遵循“約定優于配置”的原則,避免了創建項目或框架時必須做的繁雜配置,幫助開發者以最少的工作量,更加簡單、方便地使用現有 Spring 中的所有功能組件。

Spring Boot的特性

Spring Boot 的一系列特性使得微服務架構的落地變得非常容易,對于目前眾多的技術棧,Spring Boot 是 Java 領域微服務架構的最優落地技術。

下圖所示為 Spring Boot 的一些特性:


圖 1 Sprint Boot 的特性

Spring Boot的核心組件

Spring Boot 官方提供了很多當前流行的基礎功能組件的封裝,命名一般以 spring-boot-starter 開頭,比如 spring-boot-starter-quartz 定時任務組件和 spring-boot-starter-thymeleaf 頁面模板引擎等。

另外,由于 Spring Boot 的流行,很多第三方中間件也按照 Spring Boot 的規范提供了針對 Spring Boot 項目的 Starters(啟動器),一般以組件名開頭,比如 MyBatis 針對 Spring Boot 提供的組件包 mybatis-spring-boot-starter。

Spring Boot 的核心組件如下圖所示:


圖 2 Spring Boot的核心組件

Spring Boot的優點

Spring Boot 繼承了 Spring 一貫的優點和特性,同時增加了一些新功能和新特性,這讓 Spring Boot 非常容易上手,也讓編程變得更加簡單。

總結起來Spring Boot有如下幾個優點:

  • 遵循“約定優于配置”的原則,使用 Spring Boot 只需要很少的配置或使用默認的配置。
  • 使用 JavaConfig,避免使用 XML 的煩瑣。
  • 提供 Starters(啟動器),簡化 Maven 配置,避免依賴沖突。
  • 提供內嵌 Servlet 容器,可選擇內嵌 Tomcat、Jetty 等容器,不需要單獨的 Web 服務器。這意味著不再需要啟動 Tomcat 或其他任何中間件。
  • 提供了一系列項目中常見的非功能特性,如安全監控、應用監控、健康檢測等。
  • 與云計算、微服務的天然集成。

從軟件發展的角度來講,越簡單的開發模式越流行,越有活力,其可以讓開發者將精力集中在業務邏輯本身,提高軟件開發效率。Spring Boot 就是盡可能地簡化應用開發的門檻,讓應用開發、測試、部署變得更加簡單。

為什么學習Spring Boot

最近幾年,Spring 生態圈最流行的技術框架莫過于 Spring Boot 和 Spring Cloud。目前,各個企業都在推動微服務技術架構的落地,將一個復雜的應用拆分成多個小的獨立模塊,分開部署,互不干擾,從而達到松散耦合、提高開發效率和降低運維成本的目的。

Spring Boot 作為微服務框架的基礎被越來越多地應用于企業級開發中,它是 Spring Cloud 的基礎。要學習 Spring Cloud,就必須了解 Spring Boot 框架的架構和設計理念。

Spring Boot 是 Spring 生態下的一個子項目,用于快速、敏捷地開發新一代基于 Spring 框架的應用程序。同時,它將目前各種比較成熟的服務框架和第三方組件組合起來(如 Redis、MongoDB、JPA、RabbitMQ、Quartz 等),按照“約定優于配置”的設計思想封裝成 Starters 組件。這樣,我們在 Spring Boot 應用中幾乎可以零配置地使用這些組件,達到開箱即用的效果,從而從繁雜的配置中解放出來,更加專注于業務邏輯的開發。

Spring Boot 的優點可以概括為以下幾個方面:

  • 快速構建:使用 Spring Initializr 可以快速創建項目,同時提供了豐富的解決方案,便于快速集成各種解決方案,提升開發效率。
  • 簡化依賴:提供豐富的 Starters,簡化 Maven 配置,避免版本兼容問題。
  • 一鍵部署:內嵌 Servlet 容器,如 Tomcat、Jetty,能夠直接打包成可執行 JAR 文件獨立運行,支持 Jenkins、Docker,輕松實現自動化運維。
  • 應用監控:自帶 Actuator 監控組件,輕松監控服務的各項狀態。使用 Spring Boot Admin 可以輕松部署功能完善的應用監控系統。

總的來說,Spring Boot 讓構建、編碼、配置、部署、監控都變得非常簡單。Spring Boot 可以說是近年來 Spring 社區乃至整個 Java 社區非常有影響力的項目之一。

初次學習 Spring Boot 的讀者,千萬不要把它想得太復雜。Spring Boot 不是新的語言、新的技術,它只是把現有的比較流行的框架集成在一起,遵循“約定優于配置”的原則,開箱即用,使得我們不需要再去關注那些煩瑣的配置。有了這個概念之后,就可以帶著輕松的心情去學習 Spring Boot。

什么是“約定優于配置”

我們知道 Spring Boot 的核心設計思想是“約定優于配置”,Spring Boot 提供的所有 Starters 都是遵循這一思想實現的。那么,究竟什么是“約定優于配置”呢?

“約定優于配置”也被稱作“按約定編程”,是一種軟件設計范式,旨在減少軟件開發者需要的配置項,這樣既能使軟件保持簡單而又不失靈活性。

從本質上來說,系統、類庫或框架應該約定合理的默認值,開發者僅需規定應用中不符合約定的部分。例如,如果模型中有一個名為 Product 的類,那么數據庫中對應的表就會默認命名為 product,只有在偏離這個約定時才需要定義有關這個名字的配置,例如將該表命名為 product_info。

簡單來說“約定優于配置”就是遵循約定。如果你所用工具的約定配置符合你的要求,那么就可以省去此配置;不符合,就通過修改相關的配置來達到你所期待的方式。

“約定優于配置”不是新的概念,許多框架使用了“約定優于配置”的設計范式,包括 Maven、Spring、Grails、Grok、Apache Wicket 等。

Spring Boot 是 Spring 對“約定優于配置”的最佳實踐產物。小到配置文件、中間件的默認配置,大到內置容器、Spring 生態中的各種 Starters,無不遵循“約定優于配置”的設計思想。正是因為簡化的配置和眾多的 Starters,才讓 Spring Boot 變得簡單、易用、容易上手,也正是“約定優于配置”的設計思想的徹底落地,才讓 Spring Boot 走向輝煌。

Spring、Spring Boot和Spring Cloud的關系

隨著 Spring、Spring Boot 和 Spring Cloud 的不斷發展,越來越多的開發者加入 Spring 的大軍中。對于初學者而言,可能不太了解 Spring、Spring Boot 和 Spring Cloud 這些概念以及它們之間的關系,下面我們一起來捋一捋。

Spring 是一個開源生態體系,是集大成者。其核心是控制反轉(Inversion of Control,IoC)和面向切面編程(Aspect Oriented Programming,AOP)。正是 IoC 和 AOP 這兩個核心功能成就了強大的 Spring,Spring 在這兩大核心功能上不斷地發展壯大,才有了 Spring MVC 等一系列成熟的產品,最終構建了功能強大的 Spring 生態帝國。

Spring Boot 是在 Spring 的基礎上發展而來的,它不是為了取代 Spring,而是為了簡化 Spring 應用的創建、運行、調試、部署,讓開發者更容易地使用 Spring。它將目前各種比較成熟的服務框架和第三方組件組合起來,按照“約定優于配置”的設計思想進行重新封裝,屏蔽掉復雜的配置和實現,最終給開發者提供一套簡單、易用、易部署、易維護的分布式系統開發工具包。

Spring Cloud 是基于 Spring Boot 實現的分布式微服務框架,它利用 Spring Boot 簡單、易用、便利的特性簡化了分布式系統基礎設施的開發,如服務發現、服務注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等基礎組件都可以用 Spring Boot 的開發風格做到一鍵啟動和部署。

我們都知道,采用微服務架構,服務的數量會非常多,管理特別麻煩,而 Spring Cloud 就是一套分布式微服務治理框架,可以說是這些微服務的大管家。作為大管家 Spring Cloud 就需要提供各種組件和方案來治理與維護整個微服務系統,比如服務之間的通信、熔斷、監控等。Spring Cloud 利用 Spring Boot 的特性集成了開源行業中優秀的組件,在微服務架構中對外提供了一套服務治理的解決方案。

Spring Boot 在 Spring Cloud 中起到了承上啟下的作用,如果要學習 Spring Cloud,則必須學習 Spring Boot。三者之間的關系如下圖所示。


圖 3 Spring、Spring Boot和Spring Cloud的關系

我們可以這樣理解:正是由于 IoC 和 AOP 這兩個強大的功能才有了強大的 Spring;Spring 生態不斷地發展才有了 Spring Boot;Spring Boot 開發、部署的簡化,使得 Spring Cloud 微服務治理方案徹底落地。

贊(12)
分享到: 更多 (0)

中國專業的網站域名及網站空間提供商

買域名買空間
久久久久国产精品一区二区_国产精品第2页_99久久精品免费看_欧美aaaaaaaa
一区二区三区在线看| 亚洲国产sm捆绑调教视频| 亚洲高清免费一级二级三级| 91视频com| 亚洲激情五月婷婷| 欧美丝袜丝nylons| 日韩电影在线一区| 337p日本欧洲亚洲大胆精品| 国产黑丝在线一区二区三区| 国产精品麻豆视频| 91成人看片片| 日本午夜精品视频在线观看| 久久亚洲免费视频| 99视频在线精品| 亚洲夂夂婷婷色拍ww47| 91精品国产欧美一区二区成人| 久久精品99久久久| 国产精品素人视频| 欧美制服丝袜第一页| 日av在线不卡| 欧美国产精品中文字幕| 色噜噜夜夜夜综合网| 日本午夜精品视频在线观看| 2020国产精品自拍| 91网站黄www| 日韩av电影免费观看高清完整版| wwww国产精品欧美| 色哟哟精品一区| 人妖欧美一区二区| 国产精品久久久久aaaa| 欧美日韩亚洲丝袜制服| 国产乱人伦偷精品视频不卡| 亚洲欧美日韩国产中文在线| 7777精品伊人久久久大香线蕉的| 国内精品第一页| 亚洲女同一区二区| 欧美一级淫片007| 不卡欧美aaaaa| 日本午夜精品一区二区三区电影 | 日韩欧美亚洲一区二区| 亚洲免费观看高清完整| 欧美高清激情brazzers| 国产成人免费高清| 亚洲国产精品影院| 欧美日韩另类国产亚洲欧美一级| 精品一区二区在线看| 1024成人网| 日韩欧美成人午夜| 91麻豆国产自产在线观看| 免费成人在线观看| 亚洲视频资源在线| 精品三级av在线| 日本丰满少妇一区二区三区| 国内外精品视频| 久久久综合精品| 欧美在线观看一二区| 国产精品亚洲专一区二区三区| 欧美色视频一区| 国产成人小视频| 日韩高清不卡在线| 亚洲色欲色欲www在线观看| 日韩精品中文字幕在线一区| 在线一区二区视频| 成人综合在线观看| 久久se精品一区二区| 51精品国自产在线| 色婷婷综合久久久中文字幕| 国产电影一区二区三区| 日韩高清一区二区| 亚洲久草在线视频| 中文字幕av一区二区三区高| 日韩欧美国产一区二区三区| 在线观看日韩毛片| 不卡av免费在线观看| 国模大尺度一区二区三区| 日韩高清中文字幕一区| 一区2区3区在线看| √…a在线天堂一区| 国产午夜亚洲精品理论片色戒| 777a∨成人精品桃花网| 欧美在线高清视频| 97se亚洲国产综合自在线| 国产丶欧美丶日本不卡视频| 久久99精品国产麻豆不卡| 午夜激情久久久| 一区二区在线观看视频| 国产精品久久久久久久蜜臀| 久久综合九色综合欧美亚洲| 欧美一区二区啪啪| 在线成人午夜影院| 欧美在线免费观看亚洲| 色伊人久久综合中文字幕| av男人天堂一区| 粉嫩av一区二区三区| 国产剧情一区在线| 精品一区二区三区免费观看| 蜜桃久久久久久久| 日本不卡一二三| 日韩高清国产一区在线| 亚洲国产aⅴ天堂久久| 亚洲国产日韩综合久久精品| 亚洲激情自拍视频| 亚洲精品一二三| 亚洲精品视频观看| 亚洲美女淫视频| 亚洲品质自拍视频网站| 亚洲色图色小说| 亚洲精品一二三| 亚洲在线观看免费视频| 亚洲一区二区三区四区中文字幕 | 亚洲你懂的在线视频| 136国产福利精品导航| 亚洲人123区| 久久一夜天堂av一区二区三区| 日韩欧美一二三四区| 精品久久五月天| 久久免费看少妇高潮| 久久九九影视网| 欧美韩国一区二区| 欧美日韩和欧美的一区二区| 欧美色图免费看| 欧美一区二区网站| 日韩欧美在线影院| 精品不卡在线视频| 国产日韩欧美一区二区三区综合| 欧美经典三级视频一区二区三区| 亚洲国产成人自拍| 亚洲欧美国产77777| 亚洲综合一区二区三区| 午夜精品福利一区二区三区av| 秋霞av亚洲一区二区三| 精品一区二区三区不卡| 国产91色综合久久免费分享| 成人毛片老司机大片| 99re视频精品| 欧美性猛交xxxxxxxx| 欧美一级xxx| 国产性色一区二区| 亚洲欧美一区二区三区极速播放 | 一区二区三区不卡在线观看| 午夜视黄欧洲亚洲| 激情深爱一区二区| thepron国产精品| 91精品1区2区| 日韩一级大片在线观看| 久久久国产精华| 亚洲欧美日韩在线不卡| 天天色图综合网| 韩国三级电影一区二区| 99在线精品视频| 欧美日韩不卡视频| 久久尤物电影视频在线观看| 国产精品久久久久影视| 亚洲一区欧美一区| 久久精品国产澳门| 北条麻妃一区二区三区| 在线视频你懂得一区二区三区| 欧美一区二区三区免费视频 | 精品欧美乱码久久久久久1区2区| 久久精品一区二区| 一区二区三区在线看| 激情深爱一区二区| 91蝌蚪porny| 日韩欧美国产综合一区| 国产成人8x视频一区二区| 欧美在线小视频| 久久久精品日韩欧美| 一区二区三国产精华液| 精品无人区卡一卡二卡三乱码免费卡| gogo大胆日本视频一区| 91麻豆精品国产| 国产精品美女一区二区三区| 午夜一区二区三区视频| 国产剧情一区二区三区| 欧美日韩视频第一区| 中文字幕国产一区| 日韩成人av影视| www.在线成人| 欧美大片免费久久精品三p| 亚洲欧洲精品一区二区三区不卡| 日韩国产精品久久久| 99久久精品国产一区| 日韩视频在线一区二区| 亚洲美女淫视频| 国产精品一区免费视频| 欧美日韩免费观看一区二区三区 | 国产一区二区三区视频在线播放 | 一本久久a久久精品亚洲| 精品久久久三级丝袜| 一个色综合av| 成人小视频免费观看| 日韩欧美一区二区免费| 亚洲一区二区偷拍精品| 成人深夜视频在线观看| 欧美一二三区在线观看| 亚洲综合偷拍欧美一区色| 风流少妇一区二区| 欧美大胆一级视频| 国产丝袜美腿一区二区三区| 日本中文字幕不卡|