Spring 的各個(gè)框架(Spring Framework、Spring Session等)早已在Java 生態(tài)系統(tǒng)中確立了不可撼動(dòng)的地位宗兼,但是框架的使用略顯繁復(fù)咆耿,Spring Boot可以用于快速構(gòu)建 Spring 應(yīng)用程序杆煞,它能徹底簡(jiǎn)化 Spring 應(yīng)用程序的編寫(xiě)過(guò)程。
本文借用Spring Boot的官網(wǎng)案例蘑险,旨在介紹Spring Boot到底可以干什么滴肿,讓初學(xué)者在很短的時(shí)間內(nèi)對(duì)Spring Boot有一個(gè)全面的了解。
第一步:建立Maven工程
-
POM文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>step01</artifactId> <version>0.0.1-SNAPSHOT</version> <!-- 繼承Spring Boot的默認(rèn)配置--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> </parent> <dependencies> <!--Web應(yīng)用程序的典型依賴(lài)項(xiàng)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--actuator--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--Spring Boot的開(kāi)發(fā)工具佃迄,監(jiān)控編譯的輸出文件夾泼差,提供熱啟動(dòng)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> </dependencies> <build> <plugins> <!--Spring Boot的打包插件,mvn默認(rèn)的打包工具無(wú)法在jar文件內(nèi)內(nèi)嵌jar文件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
-
工程結(jié)構(gòu)
step01 | +-src | +-main | +-java | +-Example.java +-pom.xml
第二步:編寫(xiě)代碼
-
Example.java
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 示例代碼呵俏,來(lái)源于官網(wǎng)文檔 * * @author 王慶豐 * @date 2018/12/4 11:03 */ @RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(Example.class, args); } }
第三步:調(diào)試工程
- 啟動(dòng)CMD堆缘,跳轉(zhuǎn)到工程根目錄
C:\Users\Administrator>cd F:\IdeaProjects\SpringBoot\step01
C:\Users\Administrator>f:
F:\IdeaProjects\SpringBoot\step01>
- 運(yùn)行工程
mvn spring-boot:run
- 打開(kāi)瀏覽器,輸入
http://localhost:8080/
- 瀏覽器內(nèi)容
Hello World!
第四步:持續(xù)開(kāi)發(fā)
-
修改代碼 Example
普碎。吼肥。。麻车。缀皱。。动猬。 String home() { return "你好啤斗,世界!";//修改此處代碼 } 。赁咙。钮莲。。彼水。崔拥。。
-
切換到瀏覽器猿涨,刷新
你好握童,世界!
第五步:打包&啟動(dòng)
- 啟動(dòng)CMD姆怪,切換到工程根目錄
cd F:\IdeaProjects\SpringBoot\step01
- 打包工程
mvn package
- 查看target目錄
step01-0.0.1-SNAPSHOT.jar
- 啟動(dòng)打包后的工程
java -jar ./target/step01-0.0.1-SNAPSHOT.jar
- 刷新瀏覽器
你好叛赚,世界!
第六步:查看工程健康狀態(tài)
- 瀏覽器地址欄輸入如下URL
http://localhost:8080/actuator/health
- 結(jié)果
{"status":"UP"}
問(wèn)題:可能遇到的問(wèn)題
-
Java 版本和Maven版本
Spring Boot 2.1.1.RELEASE 要求 Java 8及以上、Maven 3.3及以上
-
修改代碼后稽揭,直接刷新俺附,瀏覽沒(méi)有變化(熱啟動(dòng)無(wú)效)
開(kāi)啟IDE的自動(dòng)編譯,或者直接編譯修改后的文件溪掀,注意class文件的輸出目錄
?
總結(jié):Spring Boot做了什么事镣?
- 依賴(lài)管理:幫助導(dǎo)入相關(guān)依賴(lài)
- 自動(dòng)配置:自動(dòng)配置相關(guān)組件
- 集成內(nèi)嵌容器:集成Tomcat等內(nèi)嵌容器
- 打包可運(yùn)行包:打包為可直接運(yùn)行的jar或war包
- 開(kāi)發(fā)輔助:spring-boot-devtools提供熱重啟、spring-boot-maven-plugin提供打包等功能
- actuator:幫你監(jiān)控和管理發(fā)布到生產(chǎn)環(huán)境的應(yīng)用,包括審計(jì)揪胃、健康檢查璃哟、度量數(shù)據(jù)收集等氛琢。