1. 程式人生 > >Spring Boot參考教程(二)SpringBoot特性

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

provide 初始化 spa using 一個 ora https ann war

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特性