目錄
一、Spring Boot 是什么
二、為什么要使用 Spring Boot
三、快速入門
- 3.1 創建 Spring Boot 項目
- 3.2 項目結構
- 3.3 引入 Web 依賴
- 3.4 編寫第一個接口
- 3.5 啟動程序,驗證效果
四、總結
五、GitHub 示例代碼
一、Spring Boot 是什么
以下截圖自 Spring Boot 官方文檔:
翻譯整理一下,內容如下:
Spring Boot 是基於 Spring 框架基礎上推出的一個全新的框架, 旨在讓開發者可以輕松地創建一個可獨立運行的,生產級別的應用程序。
基於 Spring Boot 內部的自動化配置功能,開發者可以在"零"配置, 或者只需要添加很少的配置,就可以進行日常的功能開發。
二、為什么要使用 Spring Boot
用權威說話,下圖同樣截圖自 Spring Boot 官方文檔:
我們再來翻譯整理一下,內容如下:
- 1、能夠輕松、方便地創建一個 Spring 應用;
- 2、直接使用內嵌的 Tomcat, Jetty, Undertow 容器(無需再手動安裝容器,通過部署 WAR 包的方式);
- 3、內部自動管理各種 Jar 包的版本依賴關系,再也不用為版本沖突而煩惱啦;
- 4、自動化配置 Spring 相關功能,以及第三方庫;
- 5、提供諸如指標,健康檢查, 外部化配置等功能;
- 6、"零配置",再也不需要手寫地獄般的 XML 配置了;
怎么樣,看了 Spring Boot 這些強大的特性以后,是不是開始躍躍欲試了,接下來,讓我們快速入門 Spring Boot 吧 !
PS: 正由於 Spring Boot 以上特性,才得以使它成為構建微服務架構的基礎組件。
三、快速入門
3.1 創建 Spring Boot 項目
3.1.1 通過 Spring Initializr 來創建
- 1、訪問 Spring Initializr 地址:https://start.spring.io:
默認情況下,Spring Initializr 生成的項目是通過 Maven 來構建的,開發語言為 Java, 版本用的最新的發行版,打包方式為 Jar, 使用的 Java 版本為 1.8,小伙伴們這里要注意一下!
- 2、生成項目, 導入到開發工具中
點擊 Generate Project
按鈕,下載的 Demo.zip
, 解壓后,導入到開發工具中,這里筆者使用的是 IntelliJ IDEA。
- 3、File -> New -> Model from Existing Source, 可參考下圖:
- 4、彈出框中,選中您的解壓后的文件夾 -> OK -> 選擇通過 Maven 的方式來導入項目:
- 5、一路點擊 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,接下來,通過圖文,讓我們來看下要如何一步一步操作:
- 1、File -> New -> Project, 跳出新建項目彈出框:
- 2、點擊 Next,彈出填寫 maven 項目的需要的相關信息,這里我們用默認的就好了,繼續點擊 Next;
- 3、再次彈出框,這里可以勾選開發中需要的 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)
2019-04-14 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)
2019-04-14 19:57:59.798 INFO 3680 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to default profiles: default
2019-04-14 19:58:00.666 INFO 3680 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2019-04-14 19:58:00.689 INFO 3680 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2019-04-14 19:58:00.689 INFO 3680 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.17]
2019-04-14 19:58:00.756 INFO 3680 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2019-04-14 19:58:00.757 INFO 3680 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 920 ms
2019-04-14 19:58:00.978 INFO 3680 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-04-14 19:58:01.183 INFO 3680 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2019-04-14 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!
五、GitHub 示例代碼
https://github.com/weiwosuoai/spring-boot-tutorial/tree/master/demo
六、Reference
贈送 | 面試&學習福利資源
最近在網上發現一個不錯的 PDF 資源《Java 核心面試知識.pdf》分享給大家,不光是面試,學習,你都值得擁有!!!
獲取方式: 關注公眾號: 小哈學Java, 后台回復 資源,既可獲取資源鏈接,下面是目錄以及部分截圖:
重要的事情說兩遍,獲取方式: 關注公眾號: 小哈學Java, 后台回復 資源,既可獲取資源鏈接 !!!