|
目錄
properties 文件1.語法
比如配置Tomcat的端口:server.port=8081 2.優(yōu)先級(jí)一般情況下,properties可以在項(xiàng)目的4個(gè)地方存在,然后他們每個(gè)位置有不同的優(yōu)先級(jí),并且,不同名的時(shí)候application.properties的優(yōu)先級(jí)是最高的,就是說,Springboot啟動(dòng)的時(shí)候,他會(huì)自己掃描指定路徑下面的application.properties文件作為默認(rèn)的配置文件。
這么一說,你可能不知道在哪,來張圖看看,第一個(gè)就是項(xiàng)目根目錄下面的config文件下面的,第二個(gè)就是根目錄下面的,第三個(gè)就是resources文件下面的config文件下面的,最后一個(gè)是resources文件下面的。 按照這個(gè)優(yōu)先級(jí),Springboot啟動(dòng)的時(shí)候會(huì)掃描這些包,然后將配置植入spring環(huán)境中,如果遇到相同的配置,優(yōu)先級(jí)高的會(huì)覆蓋優(yōu)先級(jí)低的配置,比如說你有四個(gè)文件,四個(gè)文件里面都配置了項(xiàng)目啟動(dòng)端口,那么這個(gè)端口的配置只會(huì)用優(yōu)先級(jí)最高的那個(gè)文件的配置。遇到不同的配置,這些配置就會(huì)互補(bǔ),形成最大化的配置。 我們還可以通過spring.config.location 來改變默認(rèn)的配置文件位置。但是需要先打包項(xiàng)目,這一塊就留著后面再說,我會(huì)持續(xù)更新!你也可以wx search 全棧學(xué)習(xí)筆記!精彩美文每天推送! 3.自定義數(shù)據(jù)配置配置文件除了能修改一些原本固有的配置,還能自定義配置。
自定義的實(shí)體類: 如果遇到j(luò)ava的駝峰命名,在properties文件里面的命名就比較寬松,比如java里面用studentName,我在properties里面既可以用studentName,也可以用student-name,或者是student_name,都行。 4.獲取自定義數(shù)據(jù)配置在配置文件中,有一些配置是springboot可以直接獲得的,有一些是不能獲取的,比如自定義的配置,像server.port這種屬于原本有的默認(rèn)配置,我們是做修改的。如果我們自定義了一些配置,就像上面我們定義的一些數(shù)據(jù),就需要用其他方法獲取了。
項(xiàng)目結(jié)構(gòu)圖: 1.通過prefix獲取實(shí)體類的代碼:
controller里面的測(cè)試代碼:
然后就能看到獲取到數(shù)據(jù)了,獲取到的數(shù)據(jù): 但是你會(huì)看到這個(gè)數(shù)據(jù)獲取到的中文是亂碼,在idea里面需要設(shè)置一下。file->settings 設(shè)置完成點(diǎn)apply,這樣好像原來的中文就是亂碼了,然后你需要重新改回來,再重新啟動(dòng)項(xiàng)目就不會(huì)亂碼了。 2.通過@value注解獲取 這樣顯示的結(jié)果是只能獲取到一個(gè)name,$是一個(gè)占位符號(hào),利用這種語法,需要對(duì)實(shí)體類的每個(gè)屬性一一對(duì)應(yīng),比較麻煩。建議使用第一種方法。 yml文件1.語法
注意:空格不能少,大小寫敏感 2.優(yōu)先級(jí)在既有yml文件也有properties文件的時(shí)候(其實(shí)還有一種yaml,和yml差不多的),yml加載順序是先于properties的,所以優(yōu)先級(jí)是properties大于yml,然后其他的情況下的優(yōu)先級(jí)和properties文件是一樣的。 3.自定義數(shù)據(jù)配置。自定義數(shù)據(jù)的和properties文件差不多。寫法上稍微有點(diǎn)差異,但是它的功能相對(duì)來說比較強(qiáng)大,代碼簡(jiǎn)潔,可讀性高。 4.獲取自定義數(shù)據(jù)配置1.通過prefix不管是yml,還是properties文件,獲取數(shù)據(jù)集都是一樣用法。 2.通過@value注解獲取同上properties文件獲取的方式。 |
|
|