国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

這篇具有很好參考價值的文章主要介紹了SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。
(博客的參考源碼可以在我主頁的資源里找到,如果在學習的過程中有什么疑問歡迎大家在評論區(qū)向我提出)

發(fā)現寶藏

前些天發(fā)現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家?!緦毑厝肟凇?。

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

二、SpringBoot配置

1. 了解配置文件的3種格式

  1. SpringBoot配置文件種類

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 編碼環(huán)境準備(輔助理解)
  • 創(chuàng)建新的SptingBoot模塊,勾選web技術支持

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)
SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  • 運行啟動類

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

從運行結果中我們可以發(fā)現默認服務器為tomcat,默認端口為8080

  1. 編輯application.properties文件,將端口號改為80并運行啟動類
server.port=80

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

我們發(fā)現默認端口號變成了80

  1. 注釋掉application.properties文件的內容,創(chuàng)建編輯application.yml文件,將端口號改為81并運行啟動類
server:
  port: 81

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

我們發(fā)現默認端口號變成了81

  1. 注釋掉application.yml文件的內容,創(chuàng)建編輯application.yaml文件,將端口號改為82并運行啟動類
server:
  port: 82

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)
我們發(fā)現默認端口號變成了82

  1. 當三種配置文件都開啟,運行啟動類,我們發(fā)現端口號為80;將properties文件注釋掉,運行啟動類,我們發(fā)現默認端口號為81,于是我們得知SpringBoot配置文件加載順序:

application.properties 優(yōu)先于 application.yml 優(yōu)先于 application.yaml

2.yaml格式語法規(guī)則

  1. 了解yaml格式

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. yaml語法格式

1.大小寫敏感
2.屬性層級關系使用多行描述,每行結尾使用冒號結束
3.使用縮進表示層級關系,同層級左側對齊,只允許使用空格 (不允許使用Tab鍵)
4.屬性值前面添加空格(屬性名與屬性值之間使用冒號+空格作為分隔)
5.#表示注釋
6.數組數據在數據書寫位置的下方使用減號作為數據開始符號,每行書寫一個數據,減號與數據間空格分隔

核心規(guī)則: 數據前面要加空格與冒號隔開

3.讀取yaml數據的3種方式

  1. 方式一:直接調用

使用@Value讀取單個數據,屬性名引用方式: {一級屬性名.二級屬性名}

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 方法二:封裝全部數據到Environment對象

Environment數據類型 結合 @Autowired 注解調用

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 方法三:自定義對象封裝指定數據

將yml文件中的要讀取的信息封裝為實體類進行訪問

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 自定義對象封裝指定數據警告解決方案:添加相關依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

4.多環(huán)境開發(fā)配置

  1. yaml格式寫法(示例)

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. properties格式寫法(示例)
  • application.properties文件
spring.profiles.active=pro
  • application-dev.properties文件
server.port=8080
  • application-pro.properties文件
server.port=8081
  • application-test.properties文件
server.port=8082

5.多環(huán)境命令行啟動參數設置

  1. 多環(huán)境啟動命令行格式

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 在設置中修改字符集,支持中文識別,防止打包失敗

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 先執(zhí)行 clean 指令防止上一次的操作影響到了打包后的運行結果,然后再執(zhí)行 package 指令

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 在打包好的jar包文件路徑上輸入cmd進入命令行窗口

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 輸入 java -jar d(jar包命名首字母),然后按tab建自動補全,敲回車,運行程序

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. ctrl + c 終止程序,根據yaml配置輸入更換開發(fā)環(huán)境命令行,回車運行

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

我們發(fā)現端口號由開發(fā)環(huán)境 dev 的 80 變成了 test 環(huán)境的 82

  1. ctrl + c 終止程序,輸入修改端口號命令行,回車運行

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

我們發(fā)現 test 開發(fā)環(huán)境的端口號被改成了 88

  1. 命令行之所以能覆蓋配置文件的優(yōu)先是因為其優(yōu)先級高

[以下為spring官網關于配置的優(yōu)先級的敘述](https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config)

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

6. 多環(huán)境開發(fā)兼容問題

  1. 情境導入

提出問題:
maven高級(可以在我博客主頁中找到相關文章)中也涉及到了多環(huán)境開發(fā),當maven中和SpringBoot中的yml配置同時出現多環(huán)境開發(fā)管理的時候(比如maven中主導開發(fā)環(huán)境為開發(fā),而SpringBoot中的主導開發(fā)環(huán)境是測試),該如何解決這個沖突呢?

思考:
實際上,當我們的程序部署到服務器后是在服務器上用命令行運行,最終啟動的是打包好的jar包,而不是本地的電腦編譯器,執(zhí)行package指令是maven的功能,所以當存在多環(huán)境開發(fā)兼容問題的時候maven應該起主導作用(maven負責管理版本,yml加載maven的版本)。

  1. 在pom.xml中設置當前開發(fā)環(huán)境為生產環(huán)境pro,在yml文件中設置開發(fā)環(huán)境為開發(fā)環(huán)境dev,示例代碼如下:
  <profiles>
        <!--開發(fā)環(huán)境-->
        <profile>
            <id>dev</id>
            <properties>
            </properties>
        </profile>
        <!--生產環(huán)境-->
        <profile>
            <id>pro</id>
            <properties>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!--測試環(huán)境-->
        <profile>
            <id>test</id>
            <properties>
            </properties>
        </profile>
    </profiles>

#設置啟用的環(huán)境
spring:
  profiles:
    active: dev
---
#開發(fā)
spring:
  profiles: dev
server:
  port: 80
---
#生產
spring:
  profiles: pro
server:
  port: 81
---
#測試
spring:
  profiles: test
server:
  port: 82
---

  1. 執(zhí)行maven的package指令,找到生成的jar包,在對應路徑上輸入cmd,回車,輸入運行jar包的命令行,觀察當 maven(默認環(huán)境是pro,對應服務器端口號為81)和 yaml(默認環(huán)境是dev,對應服務器端口號為80)同時存在多環(huán)境控制時默認開發(fā)環(huán)境是哪個

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

通過命令行運行結果我們發(fā)現此時默認端口號為80,yml的配置起了主導作用,因為此時maven中的配置還沒加載到y(tǒng)ml配置文件中

  1. 將maven配置加載到y(tǒng)ml配置文件中,然后將之前打包的jar包刪掉,重新打包,再用命令行啟動

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)
SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

我們發(fā)現此時的端口既不是有maven主導的pro生產環(huán)境(端口81),也不是有yml中的主導環(huán)境pre(端口80)

  1. 之所以端口號是8080的原因是因為yml中綁定的${profiles.active}沒有解析,我們打開jar包中的BOOT-INF/classes目錄中的application.yml文件可以驗證這一點

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 解決方案:在pom.xml中添加解析插件并重新運行jar包,問題解決
 <!--對資源文件開啟對默認占位符的解析-->
 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <version>3.2.0</version>
     <configuration>
        <encoding>UTF-8</encoding>
            <useDefaultDelimiters>true</useDefaultDelimiters>
        </configuration>
</plugin>

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

7.配置文件分類

  1. 情景導入

產品測試的時候jar包運行命令行太多,操作麻煩,容易出錯

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 配置文件分類

SpringBoot中4級配置文件:
1級[高]: file : config/application.yml
2級: file : application.yml
3級: classpath: config/application.yml
4級[低]: classpath: application.yml

作用:
1級與2級留做系統(tǒng)打包后設置通用屬性
3級與4級用于系統(tǒng)開發(fā)階段設置通用屬性

  1. 3,4級配置文件優(yōu)先級的探討

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)
SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 2級配置文件優(yōu)先級的探討

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  1. 1級配置文件優(yōu)先級的探討
  • 在target目錄下新建目錄config, 并新建編輯一個默認端口號為89的application.yml配置文件,再次運行打包好的jar包

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  • 根據報錯信息添加一個子目錄

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

  • 再次運行jar包

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)

`博客內容借鑒了bilibili黑馬程序員SSM課程資料,如有侵權,請聯系作者刪除`

總結

歡迎各位留言交流以及批評指正,如果文章對您有幫助或者覺得作者寫的還不錯可以點一下關注,點贊,收藏支持一下。
(博客的參考源碼可以在我主頁的資源里找到,如果在學習的過程中有什么疑問歡迎大家在評論區(qū)向我提出)文章來源地址http://www.zghlxwxcb.cn/news/detail-475371.html

到了這里,關于SpringBoot配置 -- SpringBoot快速入門保姆級教程(二)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 初識Mybatis -- Mybatis快速入門保姆級教程(一)

    初識Mybatis -- Mybatis快速入門保姆級教程(一)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼以可以在我主頁的資源里找到,如果在學習

    2024年02月08日
    瀏覽(22)
  • 初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

    初識SpringMVC -- SpringMVC快速入門保姆級教程(一)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學習的

    2024年02月07日
    瀏覽(23)
  • 初識Spring -- Spring快速入門保姆級教程(一)

    初識Spring -- Spring快速入門保姆級教程(一)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼以及可以在我主頁的資源里找到,如果在學

    2024年02月07日
    瀏覽(21)
  • Spring注解開發(fā) -- Spring快速入門保姆級教程(二)

    Spring注解開發(fā) -- Spring快速入門保姆級教程(二)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學習的

    2024年02月09日
    瀏覽(30)
  • Spring AOP -- Spring快速入門保姆級教程(三)

    Spring AOP -- Spring快速入門保姆級教程(三)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學習的

    2024年02月07日
    瀏覽(23)
  • 初識SpringBoot -- SpringBoot入門保姆級教程(一)

    初識SpringBoot -- SpringBoot入門保姆級教程(一)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學習的

    2024年02月07日
    瀏覽(24)
  • Spring事務管理 -- Spring快速入門保姆級教程(五)

    Spring事務管理 -- Spring快速入門保姆級教程(五)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學習的

    2024年02月08日
    瀏覽(29)
  • Spring 整合 Mybatis -- Spring快速入門保姆級教程(四)

    Spring 整合 Mybatis -- Spring快速入門保姆級教程(四)

    為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章中如果有記錄錯誤,歡迎讀者朋友們批評指正。 (博客的參考源碼可以在我主頁的資源里找到,如果在學習的

    2024年02月07日
    瀏覽(44)
  • SpringMVC 請求與響應 -- SpringMVC快速入門保姆級教程(三)

    SpringMVC 請求與響應 -- SpringMVC快速入門保姆級教程(三)

    前些天發(fā)現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家?!緦毑厝肟凇?。 為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章

    2024年02月08日
    瀏覽(28)
  • SpringMVC bean加載控制 -- SpringMVC快速入門保姆級教程(二)

    SpringMVC bean加載控制 -- SpringMVC快速入門保姆級教程(二)

    前些天發(fā)現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家?!緦毑厝肟凇?。 為了鞏固所學的知識,作者嘗試著開始發(fā)布一些學習筆記類的博客,方便日后回顧。當然,如果能幫到一些萌新進行新技術的學習那也是極好的。作者菜菜一枚,文章

    2024年02月07日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包