搜尋

搜尋結果

Spring Boot 08 - 多情境設置 maven profile 與 application.properties 進階篇
科技新知
MacauYeah・2025-03-11

上期我們介紹完最直觀的用法,這期我們再來討論多管齊下的方向。 在開始之前,筆者總結一下上期的 Profile 的要點。 Spring boot 是經過 spring.profiles.active 去選擇什麼 spring boot Profile 生效 spring.profiles.active 它可以在runtime運行時動態更改 maven 是經過 xml 去選擇編譯時的 maven profile maven 編譯時為 spring.profiles.active 填入一個固定值 另外,筆者亦在測試途中,發現一個現像。 maven 並不提供混合 profile,即使下指令同時觸發兩個 profile ,最後亦只有一個 maven profile 生效。但這個部份筆者未在官方文件中找到,大家如果有任何發現,可以幫忙修正。 Spring boot 混合 Profile 當我們經IDE編譯時,可以為 spring.profiles.active 填入多個值,各值之間用逗號分隔,就可以觸發多個 profile 。 spring.profiles.active=dev,uat 程式碼中的application.properties, applicationdev.properties, applicationuat.properties 都會生效 Spring boot會先後載入上述三個檔案,如果有重複值,後面出現的會覆蓋前面的值。 spring.profiles.active如果填入的值與現在的applicationxxx.properties不匹配,該部份不生效,例如 spring.profiles.active=dev,uat 程式碼中只有application.properties, applicationdev.properties,但沒有applicationuat.properties Spring boot會先後載入上述兩個檔案 上述的都好理解,當大家都接受上面的結論後,再來看這個現像。 spring.profiles.active 是啟動spring boot時,作為選擇profile的依據。 application.properties可以有一個預設的spring.profiles.active,正常跑spring boot就會看它。 正常跑spring boot時,還可以通過傳入參數spring.profiles.active=xx,改變那個值。 Spring boot test 因為結構特殊,它只會看到 application.properties 中的那個spring.profiles.active值。 Spring boot test 暫時沒有方法傳入參數spring.profiles.active,但可以經程式碼 @ActiveProfiles 硬改運行中的 profile 。spring.profiles.active亦只會顯示 application.properties中的那個值。 Spring boot 混合 Profile 例子 大家看完概念之後,可以來看看實際例子。 當什麼都不加,就是根據application.properties的spring.profiles.active來啟動profile。 mvn clean compile springbootrun # or mvn clean compile package java jar targetspringbootprofile0.0.1SNAPSHOT.jar 正常springbootrun的情況下,可以經的 spring.profiles.active 覆蓋過application.properties內的值。 mvn clean compile springbootrun Dspringboot.run.arguments=quot;spring.profiles.active=dev spring.profiles.active=uatquot; mvn clean compile springbootrun Dspringboot.run.arguments=quot;spring.profiles.active=dev,uatquot; # or mvn clean compile package java jar targetspringbootprofile0.0.1SNAPSHOT.jar spring.profiles.active=dev spring.profiles.active=uat java jar targetspringbootprofile0.0.1SNAPSHOT.jar spring.profiles.active=dev,uat 上述例子,若dev,uat內的值沒有衝突,沒有覆蓋問題。但如果有衝突,最後會是uat內定義的值。 Spring boot test Profile 例子 因為不是正常springbootrun,所以那些參數都沒有用,具體只會看application.properties內預設spring.profiles.active mvn clean compile test Dspringboot.run.arguments=quot;spring.profiles.active=dev,uatquot; # arguments will be ignored, same as mvn clean compile test Maven Profile 例子 加入Maven之後,就可以修改application.properties內的預設spring.profiles.active。但要注意,maven只會有單profile 假設pom.xml如下 application.properties如下 spring.profiles.active=@active.profile@ 下述三組例子,有且只有uat生效。因為maven的uat生效後,會修改 mvn clean compile springbootrun Puat # or mvn clean compile package Pdev Dci=true java jar targetspringbootprofile0.0.1SNAPSHOT.jar # or mvn clean compile test Puat 當然,你想要弄一個maven mix profile 也可以 以下例子可以令 dev, uat 同時出現在spring.profiles.active mvn clean compile springbootrun Pmix # or mvn clean compile package Pmix java jar targetspringbootprofile0.0.1SNAPSHOT.jar # or mvn clean compile test Pmix Maven Profile Spring boot test例子 上述例子都了解後,最後就來看看全部混合的情況 當Test case中沒有硬改 profile 定義,application.properties中的spring.profiles.active就直接作用。以下情況就是同時運行dev,uat java @SpringBootTest class ProfileTests bash mvn clean compile test Pmix 當Test case中有定義@ActiveProfiles ,application.properties中的spring.profiles.active的值會保留,但不在該test case中生效。以下情況就是同時運行uat,dev,但讀取spring.profiles.active的值會是dev,uat。 java @SpringBootTest @ActiveProfilesvalue = quot;uatquot;, quot;devquot; class MultipleProfileUatDevTests bash mvn clean compile test Pmix 如果我們把maven 指令中的加入package,預期 test 執行的是 uat,dev 。而 jar 的打包結果會是 dev,uat。 java @SpringBootTest @ActiveProfilesvalue = quot;uatquot;, quot;devquot; class MultipleProfileUatDevTests bash mvn clean compile test package Pmix 但請盡量不要這些做,因為會越來越混亂,特別是打包 prod 環境。為減少出錯的機會,例如test污染了prod的環境,筆者在package時,通常都會跳過test。 mvn clean compile package Pprod Dmaven.test.skip=true

全日悠閒套餐 ~ 配亮麗甜品# 附餐牌
澳城餐飲
莫雪・2021-11-01

全日忙裡悠閒套餐 配亮麗甜品, 以及選配多款咖啡或花茶, 由輕食至飽腹 甜點 Pastry Bar, 地方寛敞, 然午飯時間仍現人龍, 選其中輕食 ※ 越式牛肉湯河 ※ 份量足夠 自選配甜品柜內各款大大件甜品 單買一件為MOP$58.00 的, ※ 時令秋日榛子蛋糕 ※ 外形吸晴之外, 濃濃榛子之味... 最後點綴自選咖啡, 選上熱、涷 ※ 手打泡沫咖啡 ※ 泡沫細滑豐富 想要飽一點的, 自然選有米的試試... ※ 馬薩拉雞配印度香米 ※ 異國香濃咖哩奶駱之騷味; 配 滿口濃滑蛋奶滋味; ※ 莓之雲呢拿 ※ 或 清香淡味點的 ; ※ 椰香甘露 ※ 主食選 ※三杯三文魚配珍珠米※ 汁味濃燴魚够滑 選喝 ※ 有機南非國寶橘子茶 ※ 清香天然甜香橘子之味, 為飯後味蕾稍事消停; 也為緊隨的甜品準備一、二 ... 加杯 ※ 摩卡咖啡 ※ 甜品選清新綠葉點綴的 ※ 焦糖檸檬 ※ 還有... 被那一片火紅秋意紅葉吸引的 ※ 蘋果合桃 ※ 輕便點 悠閒餐 ※ 公司三文治 ※ 層層不同滋味, 一人份飽腹有餘 自配上甜品 ※ 金裝濃味朱古力 ※ 華麗得不捨切開, 以及 ※ 鮮奶咖啡 Cafe Latte ※ 輕食還有... 除了大蝦、還有叉燒和蛋的 ※ 檳城蝦麵 ※ 選原粒層層榛子牛奶朱古力之 ※ 榛子牛奶朱古力蛋糕 ※ Pastry Bar 地方敞闊開放式長形設計, 舒適不聚集 全日忙裡悠閒 套餐餐牌 甜點 Pastry Bar 地址 美高梅酒店地下大堂 營業時間 每日上午11時至晚上8時 #相機咖啡館# #大灣區潮粵私房菜# 【編輯聲明】 本篇文章、相片版權屬作者所有,經由版權持有人授權CyberCTM.com發表。 聯絡及邀約 irene801802@hotmail.comy

澳門金沙廚藝。新潮粵菜御蓮宮
澳城餐飲
蘇蘇・2018-02-20

澳門巴黎人酒店開業至今,蘇蘇試過他們3家餐廳,每家餐廳最少都試過3次,3 家都讓蘇蘇十分滿意,包括巴黎軒、法式餐廳和御蓮宮。 蘇蘇經常都說,在澳門街吃飯,會有『貴野平食、平野貴食』的情況出現,在酒店裡的餐廳吃同類型的食物,有可能會比街舖更化算。 因為租金不斷上漲問題,所以街外的餐廳的食物的價錢不能定得太低,這就是澳門小商戶的無奈,當然小店也有小店的特色,所以無論是酒店抑或小店,蘇蘇一樣都會去光顧的。 言歸正傳,酒店餐廳會比較注重時令菜,好像之前是吃松露的最好時機,各大酒店都推出不少松露菜式,御蓮宮也不甘後人。 御蓮宮的裝潢雅緻大方,環境舒適,服務也是十分殷勤。 餐廳主打是粵菜,吃過之後你會發現裡面隱藏了不少驚喜,好像食材的配搭、擺盆和味道都有點不同,當然傳統的是少不了,但還有新潮的。 香煎北海道帶子配胡麻泡沫 大大件的北海道帶子微微煎香,配上胡麻泡沫和冰菜,口感爽脆得來又惹味。 當冷菜拼盆送上來時,蘇蘇是眼前一亮,很漂亮啊 白松露蟹肉蒸水蛋、黑松露魚子醬脆皮白花雞、乳豬件小木耳冰菜沙律 白松露蟹肉蒸水蛋的香氣迫人,食指大動,最愛是黑松露魚子醬脆皮白花雞,這是手工菜,因為製作麻煩,現場已經很少大廚會做了。 白松露龍蝦餛飩配白蘆筍湯 濃香滑溜的口感,吃一口就會愛上。 台灣樹子蒸東星斑柳 濃濃的鹹香味道的樹子,用來蒸魚真的很配,可以提升海鮮的鮮味。 白松露龍蝦湯泡桂花蚌鮮蝦餛飩 白松露加拿大龍蝦球炒有機雞蛋白 白松露煎北海道帶子南瓜汁拌風乾火腿 這個配搭非常新鮮,有點像中西合璧,看來互相衝突,但又出奇的好吃。 白松露香煎M9和牛拌羊肚菌酥炸牛肋肉 如果喜歡吃牛的朋友一定喜歡這道。 脆野米濃蝦湯鮮蟹肉泡飯 去御蓮宮不能不吃的一道菜,香脆的野米配上惹味的蝦湯,口感脆脆的,味道又濃香,高度推介。 紅糖薑茶雨雲石湯丸拼酥皮蟹肉蛋撻 紅糖薑茶是女性之寶,吃過之後全身感覺暖烘烘的,酥皮蟹肉蛋撻外皮鬆化,以鹹點配甜的湯丸,中和了味覺。 聽說御蓮宮飲茶也很不錯,下次試了再跟大家分享。 御蓮宮 地址: 澳門巴黎人酒店3樓          電話: 853 8111 9260 營業時間: 星期一至日 11001500 18002300 更多各地吃喝玩樂、美容、潮流、旅遊、演藝、文化或購物資訊、心情話語文章等,繼續以一文多發形式發放於中、港、澳三地多個高人氣時尚生活網站的專欄內,詳情請點擊蘇蘇的 新浪微博 『蘇蘇的部落』httpwww.weibo.comsusannaklprofile Facebook httpswww.facebook.comsososusanna Instagram httpinstagram.comsososusanna 時尚生活專欄 ELLE HK ELLE CHINA 中國瑞麗時尚網 台灣痞客邦 澳門人氣資訊網站CTM。Lifemag 搜狐新聞網 手機Apps 聯絡及邀約 susannakL88@yahoo.com.hk