SpringBoot | 第一章:第一個SpringBoot應用
概述
隨著動態語言的流行(Ruby、Groovy、Scala、Node.js),Java的開發顯得格外的笨重:繁多的配置、低下的開發效率、複雜的部署流程以及第三方技術整合難度大。
在上述環境下,Springboot
應運而生。它使用”習慣優於配置”(專案中存在大量的配置,此外還內建一個習慣性的配置,讓你無須手動進行配置)的理念讓你的專案快速執行起來。使用springboot很容易建立一個獨立執行(執行jar,內嵌servlet容器)、準生產級別的基於Spring框架的專案,使用springboot
你可以不用或者只需要很少的Spring配置。
-
獨立執行的Spring專案
Spring Boot可以以jar包的形式獨立執行,執行一個Spring Boot專案只需要通過java -jar xx.jar。
-
內建Servlet容器
Spring Boot可選擇內嵌Tomcat、Jetty或者Undertow,這樣無須以war包形式部署。
-
提供starter簡化maven配置
Spring提供了一系列的starter pom來簡化maven依賴載入,例如:當你使用了spring-boot-starter-web時,會自動加入相關依賴,無需你手動一個一個的新增座標依賴。
-
自動配置Spring
Spring Boot會根據在類路徑中的jar包、類,為jar包裡的類自動配置Bean,這樣會極大地減少我們要使用的配置。當然,Spring Boot只是考慮了大多數的開發場景,並不是所有場景,若在實際開發中,我們需要自動配置bean,而Spring Boot沒有提供支援,則可以自定義自動配置。
-
無程式碼生成和xml配置
Spring Boot的神奇的不是藉助於程式碼生成來實現的,而是通過條件註解來實現的,這是Spring 4.x提供的新特性,Spring 4.x提倡使用java配置和註解配置相結合,而Spring Boot不需要任何xml配置即可實現Sping Boot的所有配置。
優點
- 快速構建專案:省略了繁瑣且重複的xml配置,分分鐘構建一個web工程;
- 對主流開發框架的無配置整合:提供了很多Starter 依賴包,開箱即用,無需多餘配置;
- 專案可獨立執行:無需外部依賴Servlet容器;
- 極大地提供了開發、部署效率;
- 監控簡單:提供了actuator包,可以使用它來對你的應用進行監控。
缺點
- 依賴太多:一個簡單的SpringBoot應用都有好幾十M只有;
- 缺少監控整合方案、安全管理方案:只提供基礎監控,要實現生產級別的監控,監控方案需要自己動手解決;(後期講解
soringCloud
時,會結合pinpoint和skywalking分散式鏈路工具進行應用監控)
使用的工具為:
Spring Tool Suite(3.9.3.RELEASE)
SpringBoot:1.5.14.RELEASE
利用
Spring Initializr
進行快速建立專案
- 選擇
Dashboard
–>CREATE SPRING STARTER PROJECT
進行建立專案,或者可以選擇file
–>new
–>Spring Starter Project
,開啟建立面板
- 出現建立面板,填寫專案資訊
這裡url建議直接填寫:
https://start.spring.io
(預設是http方式)
maven相關命名說明
Group
:一般為逆向域名格式,如本部落格域名為lqdev.cn
,則group一般以cn.lqdev
開頭Artifact
:唯一標識,一般為專案名稱。
具體maven相關資訊,可自行搜尋,這裡只簡單闡述
- 選擇依賴包和版本
除此下載包時,可能會比較慢,建議替換成阿里雲的maven映象
由於使用了
Spring Initializr
直接建立專案,相關依賴自動新增好了。
直接
Chapter1Application
,右鍵run as
–>Spring Boot App
即可。
看見以下提示,說明啟動成功:
簡單說明
- springboot 預設的埠號為:8080,此時瀏覽器訪問:
127.0.0.1:8080/demo
即可檢視。 - 需要修改預設埠號時及上下文路徑時,只需要在
application.properties
設定以下屬性:1 2 3 4
# 埠號 server.port=8888 # 應用上下文路徑 server.context-path=/chapter1
自此,一個簡單的SpringBoot
就開發完成了。比起原來的springmvc
時的開發效率,簡直是一個質的飛躍,無需再煩擾煩人的xml配置檔案了。終於可以快樂的擼程式碼了~
目前網際網路上很多大佬都有
springboot
系列教程,如有雷同,請多多包涵了。本文是作者在電腦前一字一句敲的,每一步都是親身實際過的。若文中有所錯誤之處,還望提出,謝謝。