亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot官網構建、快速啟動的問題怎么解決

發布時間:2022-08-13 15:36:57 來源:億速云 閱讀:148 作者:iii 欄目:開發技術

這篇文章主要講解了“SpringBoot官網構建、快速啟動的問題怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SpringBoot官網構建、快速啟動的問題怎么解決”吧!

    SpringBoot概述

    SpringBoot 是由Pivotal團隊提供的全新框架,其設計目的是用來簡化Spring應用的初始搭建以及開發過程。

    大家已經感受了 SpringBoot 程序,回過頭看看 SpringBoot 主要作用是什么,就是簡化 Spring 的搭建過程和開發過程。

    原始 Spring 環境搭建和開發存在以下問題:

    • 配置繁瑣依賴

    • 設置繁瑣

    SpringBoot 程序優點恰巧就是針對 Spring 的缺點

    • 自動配置。這個是用來解決 Spring 程序配置繁瑣的問題

    • 起步依賴。這個是用來解決 Spring 程序依賴設置繁瑣的問題

    • 輔助功能(內置服務器,…)。我們在啟動 SpringBoot 程序時既沒有使用本地的 tomcat 也沒有使用 tomcat 插件,而是使用 SpringBoot 內置的服務器。

    接下來我們來說一下 SpringBoot 的起步依賴

    起步依賴

    我們使用 Spring Initializr 方式創建的 Maven 工程的的 pom.xml 配置文件中自動生成了很多包含 starter 的依賴,如下圖

    SpringBoot官網構建、快速啟動的問題怎么解決

    這些依賴就是啟動依賴,接下來我們探究一下他是如何實現的。

    探索父工程

    從上面的文件中可以看到指定了一個父工程,我們進入到父工程,發現父工程中又指定了一個父工程,如下圖所示

    SpringBoot官網構建、快速啟動的問題怎么解決

    再進入到該父工程中,在該工程中我們可以看到配置內容結構如下圖所示

    SpringBoot官網構建、快速啟動的問題怎么解決

    上圖中的 properties 標簽中定義了各個技術軟件依賴的版本,避免了我們在使用不同軟件技術時考慮版本的兼容問題。在 properties 中我們找 servletmysql 的版本如下圖

    SpringBoot官網構建、快速啟動的問題怎么解決

    dependencyManagement 標簽是進行依賴版本鎖定,但是并沒有導入對應的依賴;如果我們工程需要那個依賴只需要引入依賴的 groupidartifactId 不需要定義 version

    build 標簽中也對插件的版本進行了鎖定,如下圖

    SpringBoot官網構建、快速啟動的問題怎么解決

    看完了父工程中 pom.xml 的配置后不難理解我們工程的的依賴為什么都沒有配置 version

    探索依賴

    在我們創建的工程中的 pom.xml 中配置了如下依賴

    SpringBoot官網構建、快速啟動的問題怎么解決

    進入到該依賴,查看 pom.xml 的依賴會發現它引入了如下的依賴

    SpringBoot官網構建、快速啟動的問題怎么解決

    里面的引入了 spring-webspring-webmvc 的依賴,這就是為什么我們的工程中沒有依賴這兩個包還能正常使用 springMVC 中的注解的原因。

    而依賴 spring-boot-starter-tomcat ,從名字基本能確認內部依賴了 tomcat,所以我們的工程才能正常啟動。

    結論:以后需要使用技術,只需要引入該技術對應的起步依賴即可

    小結

    starter

    • SpringBoot 中常見項目名稱,定義了當前項目使用的所有項目坐標,以達到減少依賴配置的目的

    parent

    • 所有 SpringBoot 項目要繼承的項目,定義了若干個坐標版本號(依賴管理,而非依賴),以達到減少依賴沖突的目的

    • spring-boot-starter-parent(2.5.0)與 spring-boot-starter-parent(2.4.6)共計57處坐標版本不同

    實際開發

    使用任意坐標時,僅書寫GAV中的G和A,V由SpringBoot提供

    G:groupid

    A:artifactId

    V:version

    如發生坐標錯誤,再指定version(要小心版本沖突)

    程序啟動

    創建的每一個 SpringBoot 程序時都包含一個類似于下面的類,我們將這個類稱作引導類

    @SpringBootApplication
    public class Springboot01QuickstartApplication {
        
        public static void main(String[] args) {
            SpringApplication.run(Springboot01QuickstartApplication.class, args);
        }
    }

    注意:

    • SpringBoot 在創建項目時,采用jar的打包方式

    • SpringBoot 的引導類是項目的入口,運行 main 方法就可以啟動項目

    因為我們在 pom.xml 中配置了 spring-boot-starter-web 依賴,而該依賴通過前面的學習知道它依賴 tomcat ,所以運行 main 方法就可以使用 tomcat 啟動咱們的工程。

    切換web服務器

    現在我們啟動工程使用的是 tomcat 服務器,那能不能不使用 tomcat 而使用 jetty 服務器,jetty 在我們 maven 高級時講 maven 私服使用的服務器。而要切換 web 服務器就需要將默認的 tomcat 服務器給排除掉,怎么排除呢?使用 exclusion 標簽

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <groupId>org.springframework.boot</groupId>
            </exclusion>
        </exclusions>
    </dependency>

    現在我們運行引導類可以嗎?運行一下試試,打印的日志信息如下

    SpringBoot官網構建、快速啟動的問題怎么解決

    程序直接停止了,為什么呢?那是因為排除了 tomcat 服務器,程序中就沒有服務器了。所以此時不光要排除 tomcat 服務器,還要引入 jetty 服務器。在 pom.xml 中因為 jetty 的起步依賴

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>

    接下來再次運行引導類,在日志信息中就可以看到使用的是 jetty 服務器

    SpringBoot官網構建、快速啟動的問題怎么解決

    小結:
    通過切換服務器,我們不難發現在使用 SpringBoot 換技術時只需要導入該技術的起步依賴即可。

    spring與springboot的對比

    我們前文做完入門案例后,可以發現兩者有很大的不同:

    SpringBoot官網構建、快速啟動的問題怎么解決

    坐標

    • Spring 程序中的坐標需要自己編寫,而且坐標非常多

    • SpringBoot 程序中的坐標是我們在創建工程時進行勾選自動生成的

    web3.0配置類

    • Spring 程序需要自己編寫這個配置類。這個配置類大家之前編寫過,肯定感覺很復雜

    • SpringBoot 程序不需要我們自己書寫

    配置類

    • Spring/SpringMVC 程序的配置類需要自己書寫。而 SpringBoot 程序則不需要書寫。

    注意:基于Idea的 Spring Initializr 快速構建 SpringBoot 工程時需要聯網。

    官網構建工程

    在入門案例中之所以能快速構建 SpringBoot 工程,是因為 Idea 使用了官網提供了快速構建 SpringBoot 工程的組件實現的。那如何在官網進行工程構建呢?通過如下步驟構建

    進入SpringBoot官網

    進入到 SpringBoot 官網后拖到最下方就可以看到如下內容

    SpringBoot官網構建、快速啟動的問題怎么解決

    然后點擊 Spring Initializr 超鏈接就會跳轉到如下頁面

    SpringBoot官網構建、快速啟動的問題怎么解決

    這個頁面內容是不是感覺很眼熟的,這和我們使用 Idea 快速構建 SpringBoot 工程的界面基本相同。在上面頁面輸入對應的信息

    選擇依賴

    選擇 Spring Web 可以點擊上圖右上角的 ADD DEPENDENCIES... CTRL + B 按鈕,就會出現如下界面

    SpringBoot官網構建、快速啟動的問題怎么解決

    生成工程

    以上步驟完成后就可以生成 SpringBoot 工程了。在頁面的最下方點擊 GENERATE CTRL + 回車 按鈕生成工程并下載到本地,如下圖所示

    SpringBoot官網構建、快速啟動的問題怎么解決

    打開下載好的壓縮包可以看到工程結構和使用 Idea 生成的一模一樣,如下圖

    SpringBoot官網構建、快速啟動的問題怎么解決

    而打開 pom.xml 文件,里面也包含了父工程和 Spring Web 的依賴。

    通過上面官網的操作,我們知道 Idea 中快速構建 SpringBoot 工程其實就是使用的官網的快速構建組件,那以后即使沒有 Idea 也可以使用官網的方式構建 SpringBoot 工程。

    SpringBoot工程快速啟動

    問題引入

    SpringBoot官網構建、快速啟動的問題怎么解決

    以后我們和前端開發人員協同開發,而前端開發人員需要測試前端程序就需要后端開啟服務器,這就受制于后端開發人員。為了擺脫這個受制,前端開發人員嘗試著在自己電腦上安裝 TomcatIdea ,在自己電腦上啟動后端程序,這顯然不現實。

    我們后端可以將 SpringBoot 工程打成 jar 包,該 jar 包運行不依賴于 TomcatIdea 這些工具也可以正常運行,只是這個 jar 包在運行過程中連接和我們自己程序相同的 Mysql 數據庫即可。這樣就可以解決這個問題,如下圖

    SpringBoot官網構建、快速啟動的問題怎么解決

    那現在問題是如何打包呢?

    打包

    由于我們在構建 SpringBoot 工程時已經在 pom.xml 中配置了如下插件

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>

    所以我們只需要使用 Mavenpackage 指令打包就會在 target 目錄下生成對應的 Jar 包。

    注意:該插件必須配置,不然打好的 jar 包也是有問題的。

    啟動

    進入 jar 包所在位置,在 命令提示符 中輸入如下命令

    java -jar 包名.jar

    執行上述命令就可以看到 SpringBoot 運行的日志信息

    SpringBoot官網構建、快速啟動的問題怎么解決

    感謝各位的閱讀,以上就是“SpringBoot官網構建、快速啟動的問題怎么解決”的內容了,經過本文的學習后,相信大家對SpringBoot官網構建、快速啟動的問題怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    侯马市| 德惠市| 玉龙| 新建县| 昌吉市| 阳城县| 栖霞市| 金乡县| 宜兴市| 苗栗县| 淮南市| 镇坪县| 交城县| 庆安县| 镇江市| 监利县| 嘉鱼县| 郓城县| 繁昌县| 东乌珠穆沁旗| 年辖:市辖区| 山东省| 黄浦区| 咸宁市| 绥芬河市| 西吉县| 盐亭县| 江山市| 喀喇沁旗| 同仁县| 高密市| 新平| 平武县| 东乌珠穆沁旗| 太谷县| 合山市| 长海县| 上蔡县| 苏尼特右旗| 新营市| 准格尔旗|