初識Spring Boot

Spring Boot是什麼?web

Spring Boot 基於Spring,爲了解決Spring框架時配置繁多、部署流程複雜、開發效率低等問題。若是說Spring 目標是簡化Java開發,那麼能夠認爲Spring Boot 框架的目標是簡化Spring的開發。 Spring Boot 能夠建立獨立程序,內嵌了tomcat、jetty等,能夠直接啓動應用程序而不須要外部的容器。同時,Spring boot 能夠自動配置Spring應用,而且將一些框架的依賴包整合起來,如開發web程序只須要引入web的starter,極大的簡化了包引用。從Spring建立以來,Spring Boot大概是Spring領域中最使人興奮的事情了。它在Spring之上構建了全新的開發模型,移除了開發Spring應用中乏味的內容。spring

Spring Boot提供了Spring Boot Starter、自動配置、命令行接口、Actuator四個主要特性,改變了開發Spring 應用程式的方式。編程

Spring Boot Starter:它將經常使用的依賴分組進行了整合,將其合併到一個依賴中,這樣就能夠一次性添加到項目的Maven或Gradle的構建中;tomcat

自動配置:Spring Boot的自動配置特性利用了Spring 4 對條件化配置的支持,合理的推測應用所需的bean自動化的配置它們。微信

命令行接口(Commond-line interface,CLI):Spring 的CLI發揮了Groovy編程語言的優點,並結合自動配置進一步簡化Spring應用的開發;框架

Actuator:它爲Spring Boot應用添加了必定的管理特性。運維

Spring Boot Starter(依賴的傳遞性)編程語言

Spring boot Satarter將應用所需的各類依賴聚合成一項依賴。它的工做方式使用了Maven和Gradle的依賴傳遞方案,Starter在本身的Pom.xml文件中聲明瞭多個依賴。當咱們將某一個Starter依賴添加到Maven或Gradle構建中的時候,Starter的依賴將會自動地傳遞性解析。這些依賴可能會也有其餘依賴。一個Starter可能會傳遞性地引入幾十個依賴。微服務

自動配置單元測試

自動配置功能消減了Spring配置的數量,使用了約定優於配置的理念,大大的減小了Spring中的一些配置。它在實現時會考慮應用中的其餘因素並推斷出你所須要的Spring配置。

場景1:將Thymeleaf模板做爲Spring MVC的視圖,至少須要三個bean:ThymeleafView-Resolver,  SpringTemplateEngine,TemplateResolver。可是使用Spring Boot自動配置的話,咱們須要作的僅僅是將Thymeleaf添加項目的類路徑中。若是Spring Boot探測Thymeleaf位於類路徑中,它將會推斷出咱們須要使用Thyemeleaf實現Spring Mvc的視圖功能,並自動配置這些bean.

場景2:Spring boot Starter也會觸發自動配置。在Spring Boot應用中,若是咱們想要使用Spring MVC的話,所須要作的僅僅是將Web Starter做爲依賴放到構建之中。將Web Starter做爲依賴放到構建中之後,它會自動添加Spring MVC依賴(前面提到的依賴傳遞性)。若是Spring Boot 的Web 自動配置探測到Spring MVC 位於類路徑下,它將會自動配置支持Spring MVC的多個bean,包括視圖解析器、資源處理器以及消息 轉換器等等。咱們接下來須要作的就是編寫處理請求的控制器。若是你以前從頭配置過一個Spring MVC 項目,你會理解這帶來的效率。

Spring Boot CLI

spring Boot CLI充分使用了Spring Boot Starter和自動配置的魔力,並添加一些Groovy的功能,它簡化了Spring 的開發流程,經過CLI,咱們能運行一個或多個Groovy腳本,並查看它是如何運行的。在應用運行過程當中,CLI可以自動導入Spring類型並解析依賴。

有一種實踐,單元測試代碼經過Groovy編寫,帶來效率的提高。

Actuator

Spring Boot Actuator 爲Spring Boot項目帶來了不少有用的特性,包括

  • 管理端點

  • 合理的異常處理以及默認的「/error"映射端點

  • 獲取應用的」/info"端點

  • 當啓用Spring Security時會有一個審計事件框架

這些特性頗有用的,但Actuator最有用和最有意思的是管理端點,它開啓了一扇窗,可以讓咱們洞悉內部的應用運行情況。

以上是Spring Boot的主要四個特性介紹,Spring Boot 的Starter減小了依賴列表的長度,自動配置功能則消減了Spring配置的數量。Spring Boot CLI 經過與Groovy結合帶來了開發測試效率的提高。

Spring Boot Actuator 則提供了一個咱們能監控應用內部的運行情況的窗口。內嵌tomcat、jetty等容器,可直接啓動應用程序而不須要外部的容器這些特性又爲開發、調試運行和項目部署時帶來巨大的便利和效率上的提高,Spring Boot 爲開發,測試,部署,運維等層面帶來了巨大變化,大大的簡化了這些方面的複雜性,帶來了效率的大幅提高,也爲後面的微服務提供了基礎。

本文首發於我的微信公衆號:webguan ;歡迎您的關注

相關文章
相關標籤/搜索