Spring Boot參考教程(二)SpringBoot特性

來源:互聯網
上載者:User

標籤:jetty   water   web應用   詳細   resource   start   log   .com   相關配置   

2. Spring Boot特性1.  Starter pom(起步依賴)

Spring提供了一系列的starterpom來簡化Maven的依賴載入,具體可參考官方文檔13.5 Starters章節。

什麼是Starterpom,以上文中HelloWorld工程為樣本:

在工程的pom中只有三個依賴:

 

 

其中:spring-boot-starter-web為Spring web項目所需依賴,使用了此依賴後會自動加入以下依賴:

 

 

由中依賴樹可以看出,只需加入一個web starter pom就會自動引入一般Spring web工程中需要的相關依賴。簡單方便。Spring提供多種starter pom供選擇。

簡單來說,starter pom是組合在一起實現某個功能的一組依賴的集合。好處不言而喻!

2.  獨立運行,內嵌Servlet容器

       SpringBoot的一個很大的特性是可以獨立運行,既可以直接以Java-jar的方式運行,不需要依賴Servlet容器。因為其提供內嵌的Servlet容器。

 

      上1中三個依賴中有一個為spring-boot-starter-tomcat此依賴為工程提供內嵌的Servlet容器tomcat,此外還可以使用Jetty, Undertow等作為內嵌容器。

 

      上文中Hello World工程在建立選項中選擇的打包方式為War,因此spring-boot-starter-tomcat依賴的Scope屬性為provide。開發人員本地啟動依然是使用的內嵌容器。

 

測試以jar方式啟動:

1.     修改打包方式為jar,刪除spring-boot-starter-tomcat的scope屬性。

 

 

2.     打包(將工程環境改為JDK)

 

 

3. 啟動jar包

 

 

啟動成功

4.  測試訪問

 

測試成功!

 

3. 自動裝配

 

由上Hello world中可以看出,並沒有進行任何的手工配置來初始化相關的Bean如:jacksonObjectMapper,dispatcherServlet,beanNameViewResolver,resourceHandlerMapping等等。

工程中所有一般web應用中需要用到的Bean均由Spring Boot來自動初始化。

查看(查看方法後面章節詳細描述)所有初始化的Bean:

 

 

註:Spring Boot會根據工程類路徑中的jar包,類,設定檔中的相關配置等條件,來自動設定Bean,比如:若類路徑中有mybatis和Oracle的驅動包,SpringBoot會自動設定mybatis的資料來源工廠等Bean。Spring Boot的自動裝配主要通過條件化配置和註解來實現,這是SpringBoot的神奇之處。

簡單來說,你需要什麼功能,加入相關的依賴,只要你的依賴jar包滿足條件,SpringBoot就會自動為你初始化配置相關Bean。

如果還沒有明白什麼是自動裝配的話,可參考相關文檔,隨著對Spring Boot瞭解的逐漸深入,你將會有深刻的體驗!

 

4. 提供應用內部監控(Actuator)

 

在Spring工程中我們無法監控到應用的內部運行情況,如Bean的生命週期,應用的健康情況等。

為解決這個問題,Spring Boot提供了執行器Actuator,來對應用內部進行監控。

具體下一章節將詳細講述。

 

<執行個體代碼>

Github:https://github.com/chunyuding/SpringBoot-Demo

https://github.com/chunyuding/SpringBoot-Demo.git

碼云:https://gitee.com/dingchunyu/SpringBoot-Demo

      https://gitee.com/dingchunyu/SpringBoot-Demo.git

 

<推薦書籍>

 百度云:http://pan.baidu.com/s/1qYA0Nxi

 

 

Spring Boot參考教程(二)SpringBoot特性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.