springboot學習總結一(Springboot的第一個程式)
阿新 • • 發佈:2019-01-05
Springboot簡介
- Springboot是Spring家族中的一個全新的框架,它用來簡化Spring程式的建立和開發過程,也可以說Springboot能簡化我們之前採用Spring mvc + spring + MyBaits 框架進行開發的過程
- 在以往我們採用Spring mvc + spring + MyBaits 框架進行開發的時候,搭建和整合三大框架,我們需要做很多工作,比如配置web.xml,配置Spring,配置MyBaits,並將它們整合在一起等,而Springboot框架對此開發過程進行了革命性的顛覆,拋棄了繁瑣的xml配置過程,採用大量預設配置簡化我們的開發過程。
- 所以採用Spring boot 可以非常容易和快速地建立基於Spring框架的應用程式,它讓編碼變簡單了,配置變簡單了,部署變簡單了,監控變簡單了;
- 正因為Spring boot 它化繁為簡,讓開發變得極其簡單和快速,所以在業界備受關注;
- spring boot 在國內的關注趨勢圖:http://t.cn/ROQLquP
Springboot特性
- 能夠快速建立基於Spring的應用程式;
- 能夠直接使用java main方法啟動內嵌的Tomcat,Jetty伺服器執行Spring boot程式,不需要部署war包檔案
- 提供約定的starter POM來簡化Maven配置,讓Maven的配置變得簡單
- 根據專案的Maven依賴配置,Spring boot自動配置Spring、Spring mvc等
- 提供了程式的健康檢查等功能
- 基本可以完全不使用XML配置檔案,採用朱潔配置
Springboot四大核心
- 自動配置:針對很多Spring應用程式和常見的應用功能,Spring boot能自動提供相關配置
- 起步依賴:告訴sping boot需要什麼功能,它就能引入需要的依賴庫
- Actuator:讓你能夠深入執行中的Spring boot應用程式,一探Spring boot程式的內部資訊
- 命令列介面:這是Spring boot的可選特性,主要針對Groovy語言使用
Spring boot開發環境
- 推薦使用Spring boot 最新版本
- 如果是使用eclipse,推薦安裝Spring Tool Suite(STS)外掛
- 如果使用IDEA旗艦版,自帶了Springboot外掛
- 推薦使用Maven3.0+,Maven目前最新版本為3.3.2
- 推薦使用java8,雖然Spring boot也相容java6
第一個Spring boot程式
快速開發一個Spring boot程式步驟如下:
- 建立一個Spring boot專案
- 方式一:使用eclipse的Spring Tool Suite(STS)外掛/或者IDEA自帶的外掛建立
- 方式二:直接使用Maven建立專案的方式的建立
- 加入Spring boot的父級和起步依賴
- 父級依賴:
加入Spring boot父級依賴可以簡化我們專案的Maven配置
- 起步依賴
加入Spring boot起步依賴可以簡化我們專案的Maven配置
- 建立Spring boot的入口main方法
- 建立一個Spring mvc 的Controller
- 執行Spring boot的入口main方法
至此,第一個Springboot程式開發完成
第一個Springboot程式解析
- Spring Boot的父級依賴spring-boot-starter-parent配置之後,當前的專案就是Spring boot專案
- pring-boot-starter-parent是一個特殊的starter依賴,他用來提供相關的Maven預設依賴,使用它之後,常用的jar包依賴可以省去version配置
- Spring boot提供哪些預設jar包的依賴,可檢視該父級依賴的pom檔案
- 如果不想使用某個預設的依賴版本,可以通過pom.xml檔案的屬性配置覆蓋各個依賴項,比如覆蓋Spring版本
<properties>
<spring-version>5..0.0.RELEASE</spring-version>
</properties>
- @SpringBootApplication 註解釋spring boot專案的核心註解,主要作用是開啟spring自動配置
- main方法是一個標準的java程式的main方法,主要作用是作為專案啟動執行的入口
- @Controller及@ResponseBody依然是我們之前的spring mvc,因為spring boot的裡面依然是使用我們的Spring mvc+spring +MyBaits等框架