Spring Boot (二)配置文件

Spring Boot 是使用了“習(xí)慣優(yōu)于配置”(Spring Boot 會(huì)默認(rèn)給我們做一些全局配置)的理念屿衅,從而可以快速的讓我們的項(xiàng)目跑起來(lái),但當(dāng)我們想要自己對(duì)這些配置進(jìn)行修改時(shí)祖屏,我們就需要去修改 Spring Boot 的配置文件了application.properties

application.properties 文件放在 src/main/resources 或類路徑的/config 目錄下蓖谢,如果創(chuàng)建的只是一個(gè)普通的 web 項(xiàng)目的話是沒(méi)有這個(gè)配置文件的根吁,需要我們自己去創(chuàng)建。

一 自定義屬性及使用


application.properties

使用鍵值對(duì)的形式來(lái)定義我們需要的屬性


application.properties

HelloWorldControlle.java

使用注解@value(“${paramName}")來(lái)注入屬性值

HelloWorldControlle.java

這種方式對(duì)于單個(gè)的屬性注入來(lái)說(shuō)會(huì)很方便端盆,但是如果是一個(gè) bean 怀骤,它有很多的屬性,那么我們就可以采取綁定的方式將鍵值對(duì)集合綁定到一個(gè) bean 上焕妙。

application.properties

com.name=acey
com.gender=male

user.java

@ConfigurationProperties(prefix = "com")
public class User {
    private String name;
    private String gender;

"setter / getter 省略"

其中 prefix 是我們?cè)?application.properties 中配置的鍵值對(duì)的前綴蒋伦,除了在我們需要綁定的 bean 上加注解之外,我們還需要在 Spring Boot 的啟動(dòng)入口類中加上注解 @EnableConfigurationProperties({User.class})

@Controller
@SpringBootApplication
@Configuration
@EnableConfigurationProperties({User.class})
public class HelloWorldApplication {
 ......
}

注:每個(gè)鍵對(duì)應(yīng)的值都可以是另外一個(gè)鍵焚鹊。比如

com.name=acey
com.gender=male
com.own=我是${com.name}痕届,我的性別是${com.gender}

Spring Boot 提供的隨機(jī)值配置,避免了我們?nèi)ビ么a去生成

com.secret=${random.value}
com.number=${random.int}
com.bignumber=${random.long}
com.uuid=${random.uuid}
com.number.less.than.ten=${random.int(10)}
com.number.in.range=${random.int[1024,2048]}

二 自定義配置文件


我們除了在 application.properties 中去配置末患,我們還可以自定義一些配置文件研叫,對(duì)于我們自定義的配置文件,我們也需要在 Spring Boot 的啟動(dòng)類中引入@PropertySource()


@Controller
@SpringBootApplication
@Configuration
@PropertySource("classpath:test.properties")
public class HelloWorldApplication {
  ...
}

三 多環(huán)境配置


在項(xiàng)目開(kāi)發(fā)中璧针,在不同的階段嚷炉,項(xiàng)目所需要的配置的文件是不同的,比如數(shù)據(jù)庫(kù)地址探橱,服務(wù)器端口等渤昌。一般情況下虽抄,對(duì)于多環(huán)境的配置,通過(guò)配置多份不同環(huán)境的配置文件独柑,再通過(guò)打包命令指定需要打包的內(nèi)容之后進(jìn)行區(qū)分打包迈窟,Spring Boot也不例外,或者說(shuō)更加簡(jiǎn)單忌栅。

在Spring Boot中多環(huán)境配置文件名需要滿足application-{profile}.properties的格式车酣,其中{profile}對(duì)應(yīng)你的環(huán)境標(biāo)識(shí),比如:

  • application-dev.properties:開(kāi)發(fā)環(huán)境
  • application-test.properties:測(cè)試環(huán)境
  • application-prod.properties:生產(chǎn)環(huán)境

至于哪個(gè)具體的配置文件會(huì)被加載索绪,需要在application.properties文件中通過(guò)spring.profiles.active屬性來(lái)設(shè)置湖员,其值對(duì)應(yīng){profile}值。

比如:spring.profiles.active=test就會(huì)加載application-test.properties配置文件內(nèi)容

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瑞驱,一起剝皮案震驚了整個(gè)濱河市娘摔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唤反,老刑警劉巖凳寺,帶你破解...
    沈念sama閱讀 223,207評(píng)論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異彤侍,居然都是意外死亡肠缨,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門(mén)盏阶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)晒奕,“玉大人,你說(shuō)我怎么就攤上這事名斟∧曰郏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 170,031評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵砰盐,是天一觀的道長(zhǎng)漾橙。 經(jīng)常有香客問(wèn)我,道長(zhǎng)楞卡,這世上最難降的妖魔是什么霜运? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,334評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮蒋腮,結(jié)果婚禮上淘捡,老公的妹妹穿的比我還像新娘。我一直安慰自己池摧,他們只是感情好焦除,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,322評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著作彤,像睡著了一般膘魄。 火紅的嫁衣襯著肌膚如雪乌逐。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,895評(píng)論 1 314
  • 那天创葡,我揣著相機(jī)與錄音浙踢,去河邊找鬼。 笑死灿渴,一個(gè)胖子當(dāng)著我的面吹牛洛波,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播骚露,決...
    沈念sama閱讀 41,300評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蹬挤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了棘幸?” 一聲冷哼從身側(cè)響起焰扳,我...
    開(kāi)封第一講書(shū)人閱讀 40,264評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎误续,沒(méi)想到半個(gè)月后吨悍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,784評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡女嘲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,870評(píng)論 3 343
  • 正文 我和宋清朗相戀三年畜份,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了诞帐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欣尼。...
    茶點(diǎn)故事閱讀 40,989評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖停蕉,靈堂內(nèi)的尸體忽然破棺而出愕鼓,到底是詐尸還是另有隱情,我是刑警寧澤慧起,帶...
    沈念sama閱讀 36,649評(píng)論 5 351
  • 正文 年R本政府宣布菇晃,位于F島的核電站,受9級(jí)特大地震影響蚓挤,放射性物質(zhì)發(fā)生泄漏磺送。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,331評(píng)論 3 336
  • 文/蒙蒙 一灿意、第九天 我趴在偏房一處隱蔽的房頂上張望估灿。 院中可真熱鬧,春花似錦缤剧、人聲如沸馅袁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,814評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)汗销。三九已至犹褒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間弛针,已是汗流浹背叠骑。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,940評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钦奋,地道東北人座云。 一個(gè)月前我還...
    沈念sama閱讀 49,452評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像付材,于是被迫代替她去往敵國(guó)和親朦拖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,995評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容