波多野结衣国产一区二区三区_今日头条app下载安装_外国毛片视频_大色综合色综合网站

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 微服務治理方案徹底落地。

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

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

買域名買空間