前言
從大四實習第一次接觸 SpringBoot 到現在,已經有 4 四年了。這期間,我也摸過一些其他的後端框架例如 JFinal 等,但回顧接觸過的項目,還是用 Spring 體系開發居多。
我上大四那會兒是 2016 年,那時候的 SpringBoot 剛剛在國內開始流行。網上大部分的資料還都是基於 SpringMVC 的,看得我是一頭霧水,搞不清楚他倆是什麼關係,也沒有幾篇博客能解釋清楚。
記得當時,我還曾糾結於 SpringBoot 和 SpringMVC 之間,到底該從哪個入手。後來我的第一個師傅告訴我說“直接上手 SpringBoot 吧 ,這玩意未來是趨勢!”現在回想起來,很是感激他對我的教導。果然,SpringBoot 已經成爲當今 Java 開發人員必備的技能之一,也幾乎替代了 SpringMVC 成爲 Java 項目首選的開發框架。
雖然現在,有關 SpringBoot 的資料已經非常豐富了,但我還是想通過博客的方式,總結一下這麼多年使用 SpringBoot 的開發經驗。一是能幫助小白快速掌握 SpringBoot 技術,少踩坑,二來也是對自己使用了這麼久 SpringBoot 的一個交代,總要輸出點什麼。
所以,我準備以系列的方式,整理有關 SpringBoot 的用法及開發經驗,幫助廣大新人儘快上手 SpringBoot。注意,本系列並不會設計太多的原理及源碼方面的知識,主要偏重於實踐應用。如果想要了解有關 Spring 底層原理的內容,可自行參閱其它資料。
另外,我們擁抱 SpringBoot,不代表說完全放棄 SpringMVC。畢竟 SpringBoot 的本質還是 Spring、SpringMVC,這其中的核心知識才是學習 SpringBoot 的關鍵。
創建 SpringBoot 工程
使用官方提供的 Spring Initializr 生成 SpringBoot 工程文件
登錄 https://start.spring.io 會看到如下界面:
- Project: 工程的構建方式。可以選擇用 Maven 或者 Gradle 構建。這裏我們選擇 Maven Project。
- Language:編程語言的選擇。這裏我們選擇 Java。
- Spring Boot: 版本選擇。這裏我們選擇 2.1.X 的最新穩定版本。(編寫這篇博客時,最新版本爲2.1.14)
- Project Metadata: 工程部分參數配置,包括項目名、包名等。其中,Packaging 方式選擇 Jar,Java 版本選擇 8。
- Dependencies: 項目依賴。不作選擇的話,創建的項目就是一個純淨的 SpringBoot 項目。爲了方便一會兒的 Web 接口演示,我們將 Spring Web 添加到依賴中(搜索“Web”,選擇“Spring Web”)。
點擊下方綠色的“Generate”,項目便創建好了。系統會生成一個 zip 包,下載到本地合適的目錄中並解壓。
打開工程
點擊 IntelliJ IDEA 上方菜單欄中的 File -> Open,打開剛纔解壓後的目錄。
IntelliJ IDEA 中內建了對 Maven 的支持,如果不想使用 IDEA 自帶的 Maven 環境,可以自行下載 Maven 進行安裝。
一般來說,打開工程後,IEDA 會自動識別這是一個 Maven 工程。如果 IDEA 沒有識別爲一個 Maven 工程,可以右鍵點擊項目根目錄下的 pom.xml
文件,選擇“Add as Maven Project”將該工程添加爲 Maven 工程。
工程目錄簡介
這裏介紹幾個主要的目錄及文件
- src/main/java: 用於存放工程的主要代碼文件和工程入口文件。
- src/main/resources: 用於存放工程的靜態資源,如配置文件、網頁資源等。
- src/main/resources/application.properties: SpringBoot 工程主配置文件。
- src/main/test: 用於存放測試代碼。
- pom.xml: Maven 配置文件。
Hello World
右鍵 myfirstspringboot 包,在 src/main/java/cn/interhorse/springboot/myfirstspringboot
下創建一個 package,命名爲 controller
。並在 controller
包下創建一個 Java Class 文件,命名爲 MyController
。MyController
中代碼如下:
@Controller
public class MyController {
@ResponseBody
@RequestMapping(value = "/test", method = RequestMethod.GET)
private String test() {
return "Hello World!";
}
}
之後,點擊 IDEA 右上角的運行按鈕,程序便默認在 8080 端口上啓動了。
打開瀏覽器,輸入 http://127.0.0.1:8080/test,如果頁面返回“Hello World!”,那麼恭喜你,程序運行無誤,我們的第一個 SpringBoot 項目已經成功跑起來了!
爲何 SpringBoot 搭建如此簡便?
過去,在使用 SpringMVC 開發時,要先經過大量的 XML 配置,項目才能開始進行功能開發,之後還要部署 Tomcat 項目才能啓動。每一次引入新的組件,也都要經過一番繁瑣的配置才得以使用。這些步驟使得 SpringMVC 的開發顯得十分臃腫,大量的時間用於各種重複的配置動作。
而 SpringBoot 採用“約定優於配置”的設計理念,將很多配置變成了一種公認的約定,如果不主動去配置它,就採取默認值。比如默認啓動端口是 8080,默認配置文件爲 application.properties,默認幫我們配置了 Servlet,默認內嵌了 Tomcat 作爲 Web 容器等等。也就是說,SpringBoot 按照主流約定,自動配置了很多過去需要我們手動配置的配置項。而如果需要自定義配置的話,也可以單獨對其進行配置。這種自動 / 手動相結合的配置方式,使得開發者可以從過去繁瑣的配置過程中脫身出來,將更多精力專注於業務本身。
除此之外,SpringBoot 藉助於 Java 強大的註解功能,也在開發過程中給予開發者許多便利。過去,需要手動配置的地方,現在可能只需要幾個註解就能完成。總之,SpringBoot 從各個方面,都在極力幫助開發者減壓。所以,這就是使用 SpringBoot 開發簡便的原因。
本章代碼地址:GItHub
我是因特馬,一個愛分享的斜槓程序員~
歡迎關注我的公衆號:一隻因特馬
原文作者: 一隻因特馬
原文鏈接: https://www.matalking.com/a/2301020784/
版權聲明: 本博客所有文章除特別聲明外,均採用 BY-NC-ND 許可協議。轉載請註明出處!