Spring Cloud教程(二)應(yīng)用程序上下文服務(wù)

Spring Boot對于如何使用Spring構(gòu)建應(yīng)用程序有一個看法:例如它具有常規(guī)配置文件的常規(guī)位置点弯,以及用于常見管理和監(jiān)視任務(wù)的端點。Spring Cloud建立在此之上榛了,并添加了一些可能系統(tǒng)中所有組件將使用或偶爾需要的功能在讶。

引導(dǎo)應(yīng)用程序上下文

一個Spring Cloud應(yīng)用程序通過創(chuàng)建一個“引導(dǎo)”上下文來進(jìn)行操作,這個上下文是主應(yīng)用程序的父上下文霜大。開箱即用构哺,負(fù)責(zé)從外部源加載配置屬性,還解密本地外部配置文件中的屬性战坤。這兩個上下文共享一個Environment曙强,這是任何Spring應(yīng)用程序的外部屬性的來源。Bootstrap屬性的優(yōu)先級高途茫,因此默認(rèn)情況下不能被本地配置覆蓋碟嘴。

引導(dǎo)上下文使用與主應(yīng)用程序上下文不同的外部配置約定,因此使用bootstrap.ymlapplication.yml(或.properties)代替引導(dǎo)和主上下文的外部配置囊卜。例:

bootstrap.yml

spring:

? application:

? ? name: foo

? cloud:

? ? config:

? ? ? uri: ${SPRING_CONFIG_URI:http://localhost:8888}

如果您的應(yīng)用程序需要服務(wù)器上的特定于應(yīng)用程序的配置娜扇,那么設(shè)置spring.application.name(在bootstrap.yml或application.yml)中是個好主意错沃。

您可以通過設(shè)置spring.cloud.bootstrap.enabled=false(例如在系統(tǒng)屬性中)來完全禁用引導(dǎo)過程。

應(yīng)用程序上下文層次結(jié)構(gòu)

如果您從SpringApplication或SpringApplicationBuilder構(gòu)建應(yīng)用程序上下文雀瓢,則將Bootstrap上下文添加為該上下文的父級枢析。這是一個Spring的功能,即子上下文從其父進(jìn)程繼承屬性源和配置文件刃麸,因此與不使用Spring Cloud Config構(gòu)建相同上下文相比醒叁,“主”應(yīng)用程序上下文將包含其他屬性源。額外的財產(chǎn)來源是:

“bootstrap”:如果在Bootstrap上下文中找到任何PropertySourceLocators泊业,則可選CompositePropertySource顯示為高優(yōu)先級把沼,并且具有非空屬性。一個例子是來自Spring Cloud Config服務(wù)器的屬性吁伺。有關(guān)如何自定義此屬性源的內(nèi)容的說明饮睬,請參閱下文

“applicationConfig:[classpath:bootstrap.yml]”(如果Spring配置文件處于活動狀態(tài)箱蝠,則為朋友)续捂。如果您有一個bootstrap.yml(或?qū)傩裕┛汛梗敲催@些屬性用于配置引導(dǎo)上下文宦搬,然后在父進(jìn)程設(shè)置時將它們添加到子上下文中。它們的優(yōu)先級低于application.yml(或?qū)傩裕┮约白鳛閯?chuàng)建Spring Boot應(yīng)用程序的過程的正常部分添加到子級的任何其他屬性源劫拗。有關(guān)如何自定義這些屬性源的內(nèi)容的說明间校,請參閱下文

由于屬性源的排序規(guī)則页慷,“引導(dǎo)”條目優(yōu)先憔足,但請注意,這些條目不包含來自bootstrap.yml的任何數(shù)據(jù)酒繁,它具有非常低的優(yōu)先級滓彰,但可用于設(shè)置默認(rèn)值。

您可以通過簡單地設(shè)置您創(chuàng)建的任何ApplicationContext的父上下文來擴(kuò)展上下文層次結(jié)構(gòu)州袒,例如使用自己的界面揭绑,或使用SpringApplicationBuilder方便方法(parent(),child()和sibling())郎哭。引導(dǎo)環(huán)境將是您創(chuàng)建自己的最高級祖先的父級他匪。層次結(jié)構(gòu)中的每個上下文都將有自己的“引導(dǎo)”屬性源(可能為空),以避免無意中將值從父級升級到其后代夸研。層次結(jié)構(gòu)中的每個上下文(原則上)也可以具有不同的spring.application.name邦蜜,因此如果存在配置服務(wù)器,則不同的遠(yuǎn)程屬性源亥至。普通的Spring應(yīng)用程序上下文行為規(guī)則適用于屬性解析:子環(huán)境中的屬性通過名稱和屬性源名稱覆蓋父項中的屬性(如果子級具有與父級名稱相同的屬性源悼沈,一個來自父母的孩子不包括在孩子中)贱迟。

請注意,SpringApplicationBuilder允許您在整個層次結(jié)構(gòu)中共享Environment絮供,但這不是默認(rèn)值关筒。因此,兄弟情境尤其不需要具有相同的資料或財產(chǎn)來源杯缺,盡管它們與父母共享共同點蒸播。

源碼來源

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市萍肆,隨后出現(xiàn)的幾起案子袍榆,更是在濱河造成了極大的恐慌,老刑警劉巖塘揣,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件包雀,死亡現(xiàn)場離奇詭異,居然都是意外死亡亲铡,警方通過查閱死者的電腦和手機(jī)才写,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奖蔓,“玉大人赞草,你說我怎么就攤上這事∵汉祝” “怎么了厨疙?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長疑务。 經(jīng)常有香客問我沾凄,道長,這世上最難降的妖魔是什么知允? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任撒蟀,我火速辦了婚禮,結(jié)果婚禮上温鸽,老公的妹妹穿的比我還像新娘保屯。我一直安慰自己,他們只是感情好嗤朴,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布配椭。 她就那樣靜靜地躺著,像睡著了一般雹姊。 火紅的嫁衣襯著肌膚如雪股缸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天吱雏,我揣著相機(jī)與錄音敦姻,去河邊找鬼瘾境。 笑死,一個胖子當(dāng)著我的面吹牛镰惦,可吹牛的內(nèi)容都是我干的迷守。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼旺入,長吁一口氣:“原來是場噩夢啊……” “哼兑凿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茵瘾,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤礼华,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拗秘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體圣絮,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年雕旨,在試婚紗的時候發(fā)現(xiàn)自己被綠了扮匠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡凡涩,死狀恐怖棒搜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情突照,我是刑警寧澤帮非,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布氧吐,位于F島的核電站讹蘑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏筑舅。R本人自食惡果不足惜座慰,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翠拣。 院中可真熱鬧版仔,春花似錦、人聲如沸误墓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谜慌。三九已至然想,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間欣范,已是汗流浹背变泄。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工令哟, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妨蛹。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓屏富,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蛙卤。 傳聞我的和親對象是個殘疾皇子狠半,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

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