乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      springboot系列(三)配置文件詳解

       新進(jìn)小設(shè)計 2020-05-25

      引言:
      Springboot有一個全局配置文件,這個配置文件默認(rèn)是properties文件,就是application.properties文件,其實還有一種文件,就是yml文件,只不過這種文件是需要自己創(chuàng)建的。這個配置文件是用來修改Springboot的默認(rèn)配置的。比如說當(dāng)我們集成了start-web之后,Springboot默認(rèn)的web服務(wù)器是Tomcat,我們可以對Tomcat的默認(rèn)配置做一些處理。配置文件能做的事情很多,語法也很簡單。

      properties 文件

      1.語法

      key=value

      比如配置Tomcat的端口:server.port=8081
      對大小寫敏感。

      2.優(yōu)先級

      一般情況下,properties可以在項目的4個地方存在,然后他們每個位置有不同的優(yōu)先級,并且,不同名的時候application.properties的優(yōu)先級是最高的,就是說,Springboot啟動的時候,他會自己掃描指定路徑下面的application.properties文件作為默認(rèn)的配置文件。
      掃描的包路徑按照優(yōu)先級有下面四個:

      1. file:./config/

      2. file:./

      3. classpath:/config/

      4. classpath:/

      這么一說,你可能不知道在哪,來張圖看看,第一個就是項目根目錄下面的config文件下面的,第二個就是根目錄下面的,第三個就是resources文件下面的config文件下面的,最后一個是resources文件下面的。

      在這里插入圖片描述

      按照這個優(yōu)先級,Springboot啟動的時候會掃描這些包,然后將配置植入spring環(huán)境中,如果遇到相同的配置,優(yōu)先級高的會覆蓋優(yōu)先級低的配置,比如說你有四個文件,四個文件里面都配置了項目啟動端口,那么這個端口的配置只會用優(yōu)先級最高的那個文件的配置。遇到不同的配置,這些配置就會互補,形成最大化的配置。

      我們還可以通過spring.config.location 來改變默認(rèn)的配置文件位置。但是需要先打包項目,這一塊就留著后面再說,我會持續(xù)更新!你也可以wx search 全棧學(xué)習(xí)筆記!精彩美文每天推送!

      3.自定義數(shù)據(jù)配置

      配置文件除了能修改一些原本固有的配置,還能自定義配置。
      自定義對象數(shù)據(jù):

      在這里插入圖片描述
      先定義一個student的對象,對象里面包含了常用的數(shù)據(jù)類型。

      自定義的實體類:

      在這里插入圖片描述

      如果遇到j(luò)ava的駝峰命名,在properties文件里面的命名就比較寬松,比如java里面用studentName,我在properties里面既可以用studentName,也可以用student-name,或者是student_name,都行。
      這就是自定義數(shù)據(jù)的配置。下面看看怎么獲取這些數(shù)據(jù)。

      4.獲取自定義數(shù)據(jù)配置

      在配置文件中,有一些配置是springboot可以直接獲得的,有一些是不能獲取的,比如自定義的配置,像server.port這種屬于原本有的默認(rèn)配置,我們是做修改的。如果我們自定義了一些配置,就像上面我們定義的一些數(shù)據(jù),就需要用其他方法獲取了。

      properties: 字符串默認(rèn)不用加上單引號或者雙引號
      '' 單引號,會轉(zhuǎn)義特殊字符
      "" 雙引號不會轉(zhuǎn)義特殊字符
      yml也是一樣

      項目結(jié)構(gòu)圖:

      在這里插入圖片描述

      1.通過prefix獲取

      實體類的代碼:

      在這里插入圖片描述

      說明:將properties里面的student綁定到這個實體類上面,它會一一對應(yīng),這個源代碼應(yīng)該是用的反射和注解,反射,注解不會的可以看看我之前的文章哦!都是干貨。

      controller里面的測試代碼:

      在這里插入圖片描述
      代碼填寫完成之后重新運行環(huán)境然后查看你的運行端口,我的運行端口是8086
      在這里插入圖片描述
      在瀏覽器輸入:http://localhost:8085/student/getStudent

      然后就能看到獲取到數(shù)據(jù)了,獲取到的數(shù)據(jù):

      在這里插入圖片描述

      但是你會看到這個數(shù)據(jù)獲取到的中文是亂碼,在idea里面需要設(shè)置一下。file->settings

      在這里插入圖片描述

      設(shè)置完成點apply,這樣好像原來的中文就是亂碼了,然后你需要重新改回來,再重新啟動項目就不會亂碼了。

      2.通過@value注解獲取

      在這里插入圖片描述

      這樣顯示的結(jié)果是只能獲取到一個name,$是一個占位符號,利用這種語法,需要對實體類的每個屬性一一對應(yīng),比較麻煩。建議使用第一種方法。

      yml文件

      1.語法

      key空格:空格value

      注意:空格不能少,大小寫敏感
      利用縮進(jìn)代表層級關(guān)系,只要是縮進(jìn)一樣就代表是一級的

      2.優(yōu)先級

      在既有yml文件也有properties文件的時候(其實還有一種yaml,和yml差不多的),yml加載順序是先于properties的,所以優(yōu)先級是properties大于yml,然后其他的情況下的優(yōu)先級和properties文件是一樣的。

      3.自定義數(shù)據(jù)配置。

      自定義數(shù)據(jù)的和properties文件差不多。寫法上稍微有點差異,但是它的功能相對來說比較強大,代碼簡潔,可讀性高。
      在這里插入圖片描述

      4.獲取自定義數(shù)據(jù)配置

      1.通過prefix

      不管是yml,還是properties文件,獲取數(shù)據(jù)集都是一樣用法。

      2.通過@value注解獲取

      同上properties文件獲取的方式。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多