大家好,我是深碼青年,作為一名迄今為止已經有四年碼齡的人來說,springboot已經深入了自己的腦子裡面,所以藉此機會,我們來仔細說一說關於springboot2.0的那些事兒 一、Spring Boot 是什麼 以下截圖自 [Spring Boot 官方文檔](https://spring.io ...
大家好,我是深碼青年,作為一名迄今為止已經有四年碼齡的人來說,springboot已經深入了自己的腦子裡面,所以藉此機會,我們來仔細說一說關於springboot2.0的那些事兒
一、Spring Boot 是什麼
以下截圖自
[Spring Boot 官方文檔](https://spring.io/projects/spring-boot "Spring Boot 官方文檔")
翻譯整理一下,內容如下:
Spring Boot 是基於 Spring 框架基礎上推出的一個全新的框架, 旨在讓開發者可以輕鬆地創建一個可獨立運行的,生產級別的應用程式。
基於 Spring Boot 內部的自動化配置功能,開發者可以在"零"配置, 或者只需要添加很少的配置,就可以進行日常的功能開發。
二、為什麼要使用 Spring Boot
用權威說話,下圖同樣截圖自
[Spring Boot 官方文檔](https://spring.io/projects/spring-boot "Spring Boot 官方文檔")
我們再來翻譯整理一下,內容如下:
- 能夠輕鬆、方便地創建一個 Spring 應用;
- 直接使用內嵌的 Tomcat, Jetty, Undertow 容器(無需再手動安裝容器,通過部署 WAR 包的方式);
- 內部自動管理各種 Jar 包的版本依賴關係,再也不用為版本衝突而煩惱啦;
- 自動化配置 Spring 相關功能,以及第三方庫;
- 提供諸如指標,健康檢查, 外部化配置等功能;
- "零配置",再也不需要手寫地獄般的 XML 配置了;
怎麼樣,看了 Spring Boot 這些強大的特性以後,是不是開始躍躍欲試了,接下來,讓我們快速入門 Spring Boot 吧 !
> PS: 正由於 Spring Boot 以上特性,才得以使它成為構建微服務架構的基礎組件。
三、快速入門
3.1 創建 Spring Boot 項目
3.1.1 通過 Spring Initializr 來創建
- 訪問 Spring Initializr 地址:
- 生成項目, 導入到開發工具中
- File -> New -> Model from Existing Source, 可參考下圖:
- 彈出框中,選中您的解壓後的文件夾 -> OK -> 選擇通過 Maven 的方式來導入項目:
- 一路點擊 Next -> Finished;
至此,通過 Spring Initializr 網站來創建應用,並導入到了我們的開發工具 IntelliJ IDEA 中就成功了。
> PS: 如果您使用的是 Eclipse, 方式是 Import -> Existing Maven Projects -> Next -> 選擇解壓後的文件夾 -> Finsh
3.1.2 通過 IntelliJ IDEA 來創建應用
其實,我們還可以直接通過 IntelliJ IDEA 來創建一個 Spring Boot 項目,因為 IntelliJ IDEA 內置了 Spring Initializr,接下來,通過圖文,讓我們來看下要如何一步一步操作:
- File -> New -> Project, 跳出新建項目彈出框:
- 點擊 Next,彈出填寫 maven 項目的需要的相關信息,這裡我們用預設的就好了,繼續點擊 Next;
- 再次彈出框,這裡可以勾選開發中需要的 Starter 的組件, 如 Web, Redis 等,我們這裡暫時不勾,後面通過手動添加的方式, 繼續點擊 Next -> Finish;
3.2 項目結構
項目創建成功後,可以看到結構如下:
共分為三個主要的文件夾:
-
src/mail/java
: 存放 Java 源碼,包括啟動程式的入口; -
src/mail/resources
: 資源目錄,用於放置相關配置文件,靜態文件 html, css 等; -
src/test/java
: 存放單元測試類
3.3 引入 Web 依賴
在 pom.xml
文件中添加 web
依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
> PS: 不用手動去指定版本號,因為 Spring Boot 內部已經維護相關 Jar 包的依賴關係。
3.4 編寫第一個介面
在 com.example.demo
包下添加 controller
包,用來存放所有對外部開發的介面, 完成後,創建 HelloController.java
類, 添加一個 /hello
介面:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot !";
}
}
添加 @RestController
註解,表示此類中所有定義的介面均為 RESTFul 風格,也就是說返參均為 JSON 格式的。
@GetMapping("/hello")
表示定義一個 GET 請求的介面,路徑為 /hello
。
3.5 啟動程式,驗證效果
根據圖示,點擊按鈕,來啟動 Spring Boot Web 程式, 查看控制台輸出:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE)
2023-10-01 19:57:59.795 INFO 3680 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication on 192.168.0.100 with PID 3680 (/Users/a123123/Work/IdeaProjects/demo/target/classes started by allen-jiang in /Users/a123123/Work/IdeaProjects/demo)
2023-10-01 19:57:59.798 INFO 3680 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default
2023-10-01 19:58:00.666 INFO 3680 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-10-01 19:58:00.689 INFO 3680 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-10-01 19:58:00.689 INFO 3680 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.17]
2023-10-01 19:58:00.756 INFO 3680 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-10-01 19:58:00.757 INFO 3680 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 920 ms
2023-10-01 19:58:00.978 INFO 3680 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2023-10-01 19:58:01.183 INFO 3680 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2023-10-01 19:58:01.186 INFO 3680 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 1.678 seconds (JVM running for 2.176)
當控制台日誌中輸出了 Tomcat started on port(s): 8080 (http) with context path ''
時,表示內嵌的 Tomcat 容器已經啟動成功了,埠為 8080 !
接下來,我們在瀏覽器上訪問 http://localhost:8080/hello
介面,驗證一下,介面是否能夠正常訪問:
返回了我們想要的 Hello, Spring Boot !
字元串,介面訪問正常,大功告成!
四、總結
本文中,我們首先瞭解了什麼是 Spring Boot, 以及Spring Boot 的相關特性,最後我們手把手學習瞭如何搭建一個 Spring Boot 項目,並編寫了第一個介面且訪問成功。
通過實際操作,真切地感受到了 Spring Boot 的魅力所在!老鐵,雙擊 666!
五、Reference
六、寫在最後
歡迎大家關註圍觀我的日常推文,學習更多知識!