Spring Boot參考教程(一) SpringBoot概述及Hello World
前言
筆者閑來無事,寫此文檔,不足之處,海涵!
本文檔將詳細介紹Sping Boot特性,使用方法,及與第三方框架的集成應用。使開發人員可以快速的了解SpringBoot,熟練的使用SpringBoot應用到 開發中。
筆者將全面的介紹Spring Boot與第三方框架的集成應用,一般開發中使用的解決方案均會在本文檔中體現。
筆者編寫此文檔將按照初學者的步驟一步一步的深入,便於學習。
需說明,學習Spring Boot需要開發了解Spring4.x版本和maven工程的開發使用。
筆者將提供本文檔中使用到的相關工具,以及Demo。
另,筆者將提供相關參考資料以及文檔中使用到的相關文章。
筆者編寫此文章,旨在記錄學習Spring Boot過程中遇到的問題以及記錄學習心得,亦可供感興趣的同學作為參考,如有些許幫助,不勝榮幸!
Spring Boot概述
(一)了解Spring Boot之前,首先說一下傳統Spring工程:
1. 在搭建傳統Spring工程的過程中,首先創建一個空的工程(或Maven工程)。
2. 加入Spring相關jar包,或Spring的依賴(Maven工程),如:Spring web等。
3. 然後在工程的web.xml文件中配置如dispatch servlet等。
4. 還需要在Spring的配置文件如applicationContex.xml(或XXX-dispatcherServlet.xml)文件中配置如Aop,json轉換器,編碼器,開啟代理,開啟組件 掃描等。
5. 在配置數據源時,還需要加入相關數據庫,數據源,持久化框架的jar包或依賴,然後在配置文件中配置數據源實例,事務等等等等。
6. 總的來說只要加入工程需要的任何一部分組件如緩存等,都需要加入相應的jar包或依賴,然後在配置文件中進行繁瑣的配置。
(二)總結傳統Spring工程的缺點如下:
1. 需要加入大量jar包或依賴,且要處理不同jar包之間版本不同的兼容問題。
2. 配置繁瑣,需要進行大量配置。
3. 重復工作浪費開發時間,使用Spring開發不同項目需要加入的jar包或依賴,以及進行的配置基本相同,如開啟組件掃描配置,配置AOP,數據源, 緩存,日誌等。可稱為模板化配置。
4. 配置各種實例,不同工程中實例的配置基本雷同,且啟動的過程中無法看到實例的初始化過程,也無法詳細了解具體實例的初始化成功或失敗。
(三)基於上述傳統Spring工程的缺點SpringBoot應運而生:
優點
1. 快速構建項目
2. 對主流開發框架的無配置集成
3. 項目獨立運行,無需外掛servlet容器
4. 提供運行時應用監控
5. 極大提高開發部署效率
6. 與雲計算天然集成
關於Spring Boot的官方介紹,此處不再贅述,僅闡述筆者自己的看法。
Spring Boot不是一個新的框架,是基於Sprig4.x版本和Maven產生的一種新的構建工程,使用Spring的方式,極大的提高開發效率,讓開發人員能專註於業務。
Spring Boot使用少量甚至不使用配置,加入少量起步依賴,即可快速構建工程滿足傳統Spring工程需要進行大量繁瑣配置才能實現的功能。
簡單的說Spring Boot可以根據工程中加入的少量依賴及少量配置,自動識別,自動配置,自動初始化相關實例。Spring Boot是“約定大於配置”,讓開發人員無須手動配置。
筆者使用Spring Boot開發之後就不在習慣使用傳統方式開發了,尤其微服務的越來越流行,使用Spring Boot之後可以進一步學習使用Spring Cloud微服務框架,如有興趣可以參看筆者提供的Spring Cloud文章。
1. 構建Spring Boot工程
Spring Boot官方文檔提供多種構建Spring Boot工程的方法,本文僅以Spring Boot官網提供的初始化工程頁面為工具,進行工程創建,對於其他方法如有興趣可自行研究。
1. 訪問http://start.spring.io填寫具體工程細節,勾選所需選項,示例如下:
2. 解壓導入Spring Boot工程,工程目錄如下:
3. 查看pom文件:
4. 為方便可將兩個類合成為一個:
5. 啟動工程:直接在3類中Run As Java Application:
啟動成功!6. 測試工程,編寫測試代碼:
7. 重啟測試:
映射成功
測試訪問成功
8. 總結:
(1)使用Spring Boot提供工具創建模板工程,簡單快速。
(2)沒有加入任何依賴,自動創建的工程中僅有三個依賴。
(3)沒有做任何配置,如註解掃描,配置控制器等。
從上面的Hello World可以初識SpringBoot的好處。
下面繼續深入了解Spring Boot的特性。
<實例代碼>
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概述及Hello World