SpringBoot 開發實踐(1):三分鐘入門搭建你的第一個 SpringBoot 工程

前言

從大四實習第一次接觸 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 文件,命名爲 MyControllerMyController 中代碼如下:

@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 許可協議。轉載請註明出處!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章