SpringBoot入門教程詳解
一、SpringBoot簡介
SpringBoot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化 Spring 應用的初始搭建以及開發(fā)過程。
我們在學習 Spring 的時候說過 Spring 框架是為了簡化開發(fā)的,而 SpringBoot 是為了簡化 Spring 開發(fā)的,由此可見,使用 SpringBoot 開發(fā)將會更加的方便簡捷。
那 SpringBoot 是如何簡化開發(fā)的呢?我們以一個入門案例來說明。
二、SpringBoot入門案例
1、創(chuàng)建項目
我使用的 IDEA 版本偏低,可能頁面會有些許不同,但是大體應該還是一致的。

使用 Spring Initializr 需要保證在聯(lián)網(wǎng)的情況,但是有時在聯(lián)網(wǎng)時也無法成功創(chuàng)建,可以使用下述方式,將網(wǎng)址改為阿里云的,我就是第一種方式怎么也創(chuàng)建不了,改用阿里云之后就可以了。


因為我們是進行 Web 開發(fā),所以我勾選了 Spring Web。之后還可以勾選一些比較使用的開發(fā)工具等。

為項目命名。

點擊 Finish 創(chuàng)建成功后,項目結(jié)構(gòu)如下圖所示。

2、編寫 Controller 類
先拋開實體類、數(shù)據(jù)訪問層和業(yè)務邏輯層等內(nèi)容,我們直接簡單測試一下表現(xiàn)層。
@RestController
@RequestMapping("users")
public class UserController {
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("id ==> " + id);
return "{'msg':'qdxorigin'}";
}
}
上述代碼采用了 REST 風格開發(fā),簡單模擬根據(jù) ID 查詢信息。
3、啟動項目
能夠明顯看到 Spring 的圖像,且在加載信息中看到了和 tomcat 相關的內(nèi)容,但是我們并沒有配置 tomcat 啊?這就是 SpringBoot 更方便的一點,它內(nèi)部自己給我們配置了 tomcat ,我們之后都無需再自己配置 tomcat 了。

4、使用 Postman 測試

與此同時,控制臺也獲取到了 ID 值。

三、SpringBoot VS Spring
通過練習入門案例,我們發(fā)現(xiàn)了,SpringBoot 內(nèi)部會給我們配置 tomcat ,我們無需再自己配置。
除此之外,在之前的 SSM 開發(fā)中,我們會自己在 pom.xml 文件中手動配置許多依賴,但是在 SpringBoot 中我們并沒有修改 pom.xml 文件中的任何內(nèi)容,僅僅在創(chuàng)建項目的時候勾選了 Spring Web,使得 SpringBoot 將我們需要的依賴配置好了。
在整合 SSM 時,我們還手動書寫了許多的配置類,但是 SpringBoot 中這些內(nèi)容統(tǒng)統(tǒng)都不需要我們自己配置了。
SpringBoot 還有許多非常便捷的地方,目前較為明顯的是上述三個優(yōu)化。

四、在官網(wǎng)中構(gòu)建工程
進入官網(wǎng), 官網(wǎng)地址 。劃到后面,找到下圖,點擊 Spring Initializr (有沒有感覺很熟悉,在 IDEA 創(chuàng)建項目時是不是也是這個)。

看到下圖,有沒有感覺和我們使用 IDEA 創(chuàng)建項目時遇到的非常相似啊。其實使用 IDEA 工具創(chuàng)建也會走這一套流程。

在右邊區(qū)域添加依賴,搜索選擇添加的依賴。

同樣會在下面呈現(xiàn)所選擇的依賴。

全部都完成之后,點擊 GENERATE 創(chuàng)建項目。

創(chuàng)建完成之后會生成一個壓縮包,我們可以解壓之后,導入 IDEA 中開發(fā)使用。

通過瀏覽壓縮包中內(nèi)容會發(fā)現(xiàn)和我們通過 IDEA 創(chuàng)建的項目結(jié)構(gòu)是一模一樣的。 五、打包 SpringBoot 項目 在 pom.xml 文件中,提供有如下插件,所以我們可以使用 Maven 的 package 指令打包,完成后會在 target 目錄下生成對應的 jar 包。




此時,在 target 文件夾中已經(jīng)能夠看到 jar 已經(jīng)打包好了,如果前端人員需要,可以將打包好的 jar 包拷貝給他,他可以直接運行調(diào)試自己的前端代碼。
前端人員拿到 jar 包后,在該位置輸入 cmd 進入我們常說的小黑框。

輸入 java -jar 命令。

有沒有感覺到一些熟悉,沒錯,這和我們在 IDEA 中呈現(xiàn)的效果是一樣的。此時我們就可以訪問項目的所有資源了。
六、SpringBoot 是如何實現(xiàn)簡化開發(fā)的
前面說過,SpringBoot 是可以簡化 Spring 應用開發(fā)的,通過入門案例我們也能夠明顯的感覺到使用 SpringBoot 框架開發(fā)的便利,那么它是如何簡化開發(fā)的呢?
這其中就不免需要介紹兩個非常重要的內(nèi)容。
1、啟動依賴
通過查看 pom.xml 文件中的代碼,我們不難發(fā)現(xiàn)有許多命名為 starter 的依賴。

這些依賴中又引用了許多其他 starter 依賴。

這也就告訴我們,在 SpringBoot 項目中,如果想要使用某個技術,直接導入相應的 starter 依賴就可以了,配置所需要的內(nèi)容在該 starter 依賴中都有,給我們節(jié)省了很大一部分精力。
2、引導類
當工程創(chuàng)建完成后,都會自動提供一個引導類,該類是程序啟動的入口,當我們想要自動程序時,直接運行 main 方法即可。
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
正式因為有了這些啟動依賴和引導類,我們就能夠?qū)W⒂跇I(yè)務代碼,而無需對一些配置工作而耗費精力,簡化開發(fā)。
七、切換 Web
服務器 通常情況下,我們都會使用 tomcat 作為項目的服務器,但是如果某天我們想要切換自己的服務器,該如何操作呢?
在此以切換為 jetty 服務器為例簡單演示下如何操作。
第一步,我們需要將 starter 依賴中自動配置的 tomcat 服務器排除掉,使其失效。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
此時我們再啟動工程,會發(fā)現(xiàn)打印的信息中找不到和 tomcat 相關的了。

第二步,導入 jetty 依賴。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
此時,再次啟動項目,看到了 jetty 相關打印信息,說明已經(jīng)成功切換了服務器

以上就是SpringBoot入門教程詳解的詳細內(nèi)容,更多關于SpringBoot入門的資料請關注腳本之家其它相關文章!
相關文章
JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實例代碼
這篇文章主要介紹了JAVA 數(shù)據(jù)結(jié)構(gòu)之Queue處理實例代碼的相關資料,需要的朋友可以參考下2017-02-02
Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值
這篇文章主要介紹了Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
基于Java解決華為機試實現(xiàn)整數(shù)與IP地址間的轉(zhuǎn)換?
這篇文章主要介紹了基于Java解決華為機試實現(xiàn)整數(shù)與IP地址間的轉(zhuǎn)換,文章舉例說明圍繞文章主題展開相關內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下2022-02-02
SpringBoot整合Docker實現(xiàn)一次構(gòu)建到處運行的操作方法
本文講解的是 SpringBoot 引入容器化技術 Docker 實現(xiàn)一次構(gòu)建到處運行,包括鏡像構(gòu)建、Docker倉庫搭建使用、Docker倉庫可視化UI等內(nèi)容,需要的朋友可以參考下2022-10-10
lazy?init控制加載在Spring中如何實現(xiàn)源碼分析
這篇文章主要為大家介紹了lazy?init控制加載在Spring中如何實現(xiàn)源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09

