Spring Boot-介紹

一、什麼是Spring Boot?

Spring Boot是Spring開源組織下的子項目,是Spring組件一站式解決方案,主要是簡化了使用Spring的難度,簡省了繁重的配置,提供了各種啓動器,開發者能快速上手。

Spring Boot提供了各種組件的啓動器(starters),開發者只要能配置好對應組件參數,Spring Boot 就會自動配置,讓開發者能快速搭建依賴於 Spring 組件的 Java 項目。

Spring Boot不但能創建傳統的 war 包應用,還能創建獨立的不依賴於任何外部容器(如:tomcat)的獨立應用,使用 java -jar 命令就能啓動。同時,Spring Boot也提供了一個命令行工具來執行 Spring 的腳本。

官方網站:https://spring.io/projects/spring-boot

GitHub源碼:https://github.com/spring-projects/spring-boot

二、Spring Boot 的背景

瞭解 Spring Boot 必須先說說 Spring 框架!

在 Java 後端框架繁榮的今天,Spring 框架無疑是最最火熱,也是必不可少的開源框架,更是穩坐 Java 後端框架的龍頭老大。

用過 Spring 框架的都知道 Spring 能流行是因爲它的兩把利器:IOC 和 AOP,IOC 可以幫助我們管理對象的依賴關係,極大減少對象的耦合性,而 AOP 的切面編程功能可以更方面的使用動態代理來實現各種動態方法功能(如事務、緩存、日誌等)。

而要集成 Spring 框架,必須要用到 XML 配置文件,或者註解式的 Java 代碼配置。無論是使用 XML 或者代碼配置方式,都需要對相關組件的配置有足夠的瞭解,然後再編寫大量冗長的配置代碼。

然後又有多少開發人員能精通這些配置呢?如果我們只提供一些配置參數讓框架能自動配置這些組件,那是不是 so easy?

基於簡化 Spring 快速上手爲目的,Spring Boot 框架誕生了!

三、Spring Boot 的設計目標

如果你不清楚 Spring 是幹嘛用的,那再來看看設計它的目標和初衷是什麼!

1、爲 Spring 應用開發提供一個更快、更容易上手的入門體驗;

2、提供一系列在大型項目中經常用到的公共的非功能性特性,如:內嵌入服務器、安全、度量指標、健康檢測、外部化配置;

3、零代碼配置生成及零 XML 配置;

四、Spring Boot的優點

  • 獨立運行

    Spring Boot而且內嵌了各種servlet容器,Tomcat、Jetty等,現在不再需要打成war包部署到容器中,Spring Boot只要打成一個可執行的jar包就能獨立運行,所有的依賴包都在一個jar包內。

  • 簡化配置

    spring-boot-starter-web啓動器自動依賴其他組件,簡少了maven的配置。

  • 自動配置

    Spring Boot能根據當前類路徑下的類、jar包來自動配置bean,如添加一個spring-boot-starter-web啓動器就能擁有web的功能,無需其他配置。

  • 無代碼生成和XML配置

    Spring Boot配置過程中無代碼生成,也無需XML配置文件就能完成所有配置工作,這一切都是藉助於條件註解完成的,這也是Spring4.x的核心功能之一。

  • 應用監控

    Spring Boot提供一系列端點可以監控服務及應用,做健康檢測。

五、Spring Boot的缺點

1、需要非常瞭解 Spring Boot 的核心技術原理,不然一旦遇到問題就很棘手。因爲什麼東西都集成了,自動配置化。這樣,需要對配置信息非常熟悉,要找起問題來不是很容易。

2、從原始 Spring 項目很難平滑遷移至 Spring Boot 框架上來,因爲有些歷史老舊的 XML 配置無法通過 Java 來配置,還需要額外的 XML 文件就不是很完美。再比如,之前是獨立的 Tomcat,什麼參數都在線上配置好了,你改爲內置的 Tomcat 就會遇到很多問題。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章