搜尋

搜尋結果

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

CTM X TVB Anywhere 年度重磅福利來襲,終極福利大抽獎!獎品總值超過 $100,000
生活在我城
Cheers!・2022-12-01

CTM X TVB Anywhere 年度重磅福利來襲 ,獎品總值超過 $100,000! 只要煲劇就有機會贏終極大獎 ?! 為答謝 CTM X TVB Anywhere 客戶嘅支持,由即日起至 2023 年 1 月 27 日期間,各位客戶只要登入同使用 TVB Anywhere 服務,即可參加終極福利大抽獎!今次獎品非常豐富,一共 10 份大獎,小編都好想要呀 !其中包括: Samsung QLED 4K 智能電視(65 吋)(價值:$21,980) OTO Antelope 飛羚跑步機(價值:$17,250) iPhone 14 Pro Max 1TB(價值:$14,030) Samsung Galaxy Z Fold4 12GB 512GB(價值:$16,250) Sony PlayStation 5(價值:$5,500 ) iPad Air(第五代)WiFi 流動網絡 256GB(價值:$7,430) 仲有 iSport $5,000 現金券同 Dyson 風筒等,更多獎品即睇 : httpsqr.pageg5fzfUbJbKwb 喺活動期間現有客戶使用 TVB Anywhere 服務達 20 日或以上就可享 1 次大抽獎機會,使用 30 日或以上享 3 次大抽獎機會!睇得越多,中獎機會越大!更有超過 40,000 小時精彩劇集同綜藝節目任您揀,仲唔快 d 打開 TVB Anywhere 一邊睇心水節目一邊贏終極大獎?! 喺活動期間申請 TVB Anywhere 嘅新客戶更享額外 1 次大抽獎機會!等小編話您知點樣申請最著數 依家新申請 5G 月費計劃即送 6 個月 TVB Anywhere 服務,仲可享低至 $280 換購 Home Media 電視盒子(原價:$880),咁就可以體驗 5G 超高清流暢娛樂同參加終極大抽獎啦!立即去 CTM Buddy App 申請 5G 計劃 :httpsqr.pageg1VjNN7uz2rB 活動章程: httpsqr.pageg5fzfUbJbKwb 法證先鋒V 人心,是一門深奧科學。人會犯罪,皆因被貪婪、憤怒、嫉妒等情緒支配。法證事務部高級化驗師余星柏以精闢方法找出證據,受熱血女警霍寶英傾慕,譜出一段無法以科學計算的愛情。法醫科高級醫生范佩清冷靜睿智,得流氓醫生秦克男默默守護,衝破困境。重案組高級督察井浩然不眠不休,與斜槓女子譚倩雯互相扶持,追尋真相。面對消失的證據、迷失的困局、狡猾的兇手,法證團隊要還生者公道,替死者雪冤。 立即睇:httpbit.ly3GKAWca 超能使者 鍾孝年陳展鵬飾、喬若嵐唐詩詠飾,與高勇陳山聰飾互不相識,一場車禍,劫後餘生的他們竟獲得了神奇的異能!孝年與丁淑敏劉佩玥飾是對恩愛小夫妻,孝年本打算用異能為自己謀福利,但被正義感十足的若嵐影響,懂得利用異能幫助他人,卻因此得罪了犯罪頭目賀慶隆歐瑞偉飾,更禍及身邊好友柯翠屏劉穎鏇飾、高守林子善飾和契爺袁家富。雖然遇上重重危機,幸得身份神秘的韋瑞琦王君馨飾出手相救。孝年等人為了正義,聯同瑞琦面對慶隆這個大敵,展開連番惡鬥,卻無奈地把好友張健威沈震軒飾拉進漩渦之中,更惹來殺身之禍!異能讓平凡的人變成不平凡,是恩賜?還是魔咒?抑或是上天刻意的安排,讓他們成為正義的使者? 立即睇:httpbit.ly3OrEcew 遊走世界天與地 「一個世界,兩種截然不同的生活。」 全新體驗式旅遊節目《傳承.狂歡 55:遊走世界天與地》,主持黃翠如將一連 6 集走訪 4 個國家:瑞士、敘利亞、摩納哥及摩爾多瓦,帶觀眾體驗「戰爭 VS 和平」、「極貧 VS 極富」兩個極端的事物、景貌和人情。 立即睇:httpbit.ly3tO7YRl 港女野人 疫情下無法出外旅遊,多了不少人選擇親親大自然,發掘本地郊遊、露營的樂趣。四位曾參選港姐的美少女胡美貽、廖慧儀、何泳芍、陳若思,拋開繁囂的都市生活,接受上山下海、攀山涉水的高難度挑戰,並且跟隨不同的「野外達人」,體驗「野人」生活,進行各式各樣的野外活動,包括露營、野炊、山系攝影、車中泊、攀岩、荒島求生、到露營熱點執垃圾hellip;hellip;一起為環保出力,分享「開心野」、「感動野」,展現不一樣的生活態度! 為你綻放的花 故事講述主角仲町明日花(本田翼)意外之下與 7 人男團住在一起,開始一段奇妙的同居生活 立即睇:httpsbit.ly3Wih9WT 孤獨的美食家10 從事個人雜貨輸入生意的井之頭五郎(松重豐),在前往日本各地拜訪客戶的同時,亦會順道品嘗大街小巷的美食。 立即睇:httpsbit.ly3SQUnm4

澳門筷子基運順新邨著火釀1死3傷!不起眼的“家用電器”是多么可怕!
其他
澳門生活圈・2019-02-28

有時候 在大街上聽到火警的車聲 就不禁令人心頭一顫 昨晚9點左右 一行消防車急匆匆往 林茂海邊大馬路運順新邨開去 運順新邨B座23樓發生火警 事件中約100名居民緊急疏散 慘劇中導致1死3傷 一名男子送院後證實死亡 火警導致約100名居民疏散 2月27號晚上9點左右,筷子基運順新邨B座23樓發生火警,消防接報後立即抵達現場,起火原因懷疑為電器設備故障所引致,事故中約100名住戶疏散。 消防表示,昨天晚上約9點時接報,運順新邨B座23樓走廊有濃煙冒出,消防到場進入起火單位後,開2條喉滅火,約40分鍾將火撲滅。 事件中,消防局出動約60名消防人員、14輛救援車參與救援。當中有4人(2男2女)送院。 其中,在23樓搜救出的一名83多歲男傷者,送院時已無呼吸心跳。 其餘3人(年齡由54至73歲)因身體不適,全部送往山頂醫院,現時情況穩定。 死者姓尤、男性、本澳居民、年約83歲、居於起火單位。 案件暫列作屍體發現案,死因有待法醫檢驗,案件交由調查科繼續跟進調查。 經消防初步檢查,起火單位的1個房間被嚴重燒毀,其家人晚上開著死者床邊暖風機後離開,疑因電器漏電引致。 單位其他地方的物品有不同程度燒毀,單位及走廊牆身也被熏黑。 至於死者為何未能及時逃出單位,有消息指事發時單位大門被反鎖。 【社工局開放收容中心】 社工局表示,關注運順新邨火警,對死者表示哀悼,對其家人表示慰問和關心,並與區內家庭和社區服務協作團隊(包括工聯的筷子基家庭綜合服務中心及街總的青洲社區中心)為受影響的居民提供服務並評估跟進。 昨晚11點半,社工局已開放青洲大馬路的臨時收容中心,供有需要的居民使用。 同時,社工局開通24小時電話輔導熱線:28261126,方便居民查詢和支援服務。 前不久已有單位也因電器漏電引起火警,如今沉痛的教訓又一次敲響了警鍾。何時我們才會謹記不能忽略每一個不起眼的細節,避免災難重蹈覆轍。 【時刻謹記家用電安全】 如今,家庭電氣設備越來越多,電氣設備安全使用成為一大隱患。據調查顯示,電氣已成為火警致死的主要原因。特別是有些居民家裏的電氣線路使用年限較長,線路已經老化,極易導致線路短路引發火警。 另外,一些房子在安裝線路設備時操作不當,沒有按照規范安裝,也容易導致日後使用時發生火警。 劃重點:家用電常識 1、定期對用電電路進行安全檢查,及時更換老化線路。在使用各類電器時,若發現冒煙或聞到異味,要迅速切斷電源進行檢查。 2、不要在一個電源插座上安插過量的插頭,空調、電爐子等大功率設備最好享受ldquo;專插專用rdquo;的待遇,以免插座過載而發生危險。 3、裝接臨時電源時,要選用合格的電源線、電源插頭。插座要安全可靠,損壞的不能使用。電源線接頭處要用電工絕緣膠布包好。 4、取暖器、白熾燈在使用時會產生高溫,要與窗簾等易燃物保持一定距離,也不要利用這些電器來烘烤潮濕的衣物,更不能覆蓋濕物。 使用電磁爐、電開水煲等,應有專人看管,防止幹燒。 5、使用電器時,應注意電源線不要被重物壓住,否則可能會造成電線折斷或絕緣破損,使電線短路或漏電。插拔電源插頭時要著力於插頭,不要拽拉電線。 不能充電的電池、幹電池不能拿來充電,否則有爆炸的危險。 6、使用設備前,應注意電器上標注的最大電流、電阻數值,將家中所用電器的這些數值相加後與自家電度表的電流標注值做比較,前者應小於後者才可放心使用,以免發生不測。 7、電器著火時,不能用水來滅火,以免因水流導電發生觸電事故。 發生火警時如何迅速逃生? 將每一場的事故銘記於心 使用各種電器前都仔細檢查一遍 避免事故再次重演 我們都需注意日常生活中那些不起眼的細節 素材來源:日報、網絡 圖片來源:日報、力報、攝圖網、gif 如有侵權,請聯系我們刪除 版權屬於原作者 編輯撰寫:小嚕

【澳門探店】正宗江滬菜,澳門上葡京華亭
生活在我城
Lifemagfoodie・2022-04-25

位於上葡京的華亭,剛剛開業不久,主打上海菜及淮陽菜,淮陽菜作為中國四大菜系之一,非常注重刀工,華亭加入創新的元素重新展現經典菜式!菜式擺盤別緻,很多菜式都是高水準之作,非常值得一試!特別是「清燉獅子頭」、「松露鮑魚東坡肉」、「楊州碎金炒飯」,想看詳細食評就繼續看下去吧! 小編今次到訪覺得餐廳環境舒適,另外有幾間半私人包廂,整個氣氛非常放鬆! 江南酒醉雞 $108 醉雞酒味香濃,雞肉質感滑細嫩,而且肥瘦適中,無骨入口啖啖肉非常滿足! 上素燒鴨脯 $68 非常易入口的開胃小食,甜甜的醬汁,豆片燒得香脆,清爽不油膩! 四喜烤麩 $68 與上一道菜的味道相近,但是這一款烤麩更吸汁,木耳及毛豆增加口感。 上海小籠包 $68 小籠包採用上等的雞湯汁,餡皮拉得極薄,湯汁豐富,非常鮮味,推薦! 清燉獅子頭(位 $68 清燉獅子頭採用五花肉粒,人手切成米粒大小,令口感更細緻,入口即化,配搭鮮味而清新十足的豬皮及排骨湯底,感受到大廚滿滿心思。 酒酿乾燒大明蝦位 $198 超巨型大蝦加入蒜粒及酒釀,醬汁帶有微微辣味,突出蝦的鮮味又非常開胃!喜歡吃海鮮的朋友必試。 松露鮑魚東坡肉 $488 這絕對是今餐的重頭戲,菜式上菜時已覺得非常震撼,充滿油脂的五花豬肉,用15年的陳年花雕煮得入味軟腍,加入飽滿的鮑魚以及黑松露提味。 每一口都滿足而邪惡,底下的飯完全地將肉汁吸收,非常香口,絕對是必點菜式之一! 香蔥扣乳鴿 $108 乳鴿的肉質非常細嫩,蔥汁香濃入味! 濃湯雞火煮乾絲 $188 豆乾切得非常細條的絲狀,濃湯採用滋補老母雞、金華火腿以及蝦仁熬製3小時以上,非常清甜! 蝦籽鮮筍 $128 鮮筍非常嫩,生熟度非常適中,蝦子增添鮮味及口感 楊州碎金炒飯 $128 這個炒飯口感十足,雞蛋炒得絲絲分明,加入海參、乾貝、櫻花蝦,真的是落足料! 現磨核桃鮮奶露(位)$48 核桃鮮奶露入口有非常濃的奶香核桃味,隱約還吃到核桃的顆粒,質感濃稠,比較飽肚! 總結:綜合來說菜式選擇多,價錢在中等範圍,尚算合理。小編覺得值得再訪,試一試其他菜式! 華亭 地點澳門上葡京二樓 營業時間:下午4時至晚上10時(星期三及四休息) 電話853 8881 1800

澳門IT教育 | 到底現在缺什麼?
科技新知
MacauYeah・2023-11-10

筆者最近跟朋友聊天,也剛好在進修,談到一些IT知識的傳播問題。進修課的導師,或更廣泛的教育機構,都很積極地宣傳,人必需經常upgrade自己,接受新知識。而不同的導師,就是用不同的方式,去介紹新知識。而最普偏的知識傳播方式,就是人與人之間有溝通。 溝通,好像好實制好有效,對不對? 對。溝通是很易的,不過掌握知識,是很難的。所以阻礙大部份人持續進修的原因,其實是實踐知識的成本,包括時間、空間、金錢。但最近在接觸一些大公司的官方課程後,至少在software上,都有遠端的實驗環境。 Cisco 在多年前就有提供Packer Tracer,可以模擬一些網路情況。雖然不多,但至少可以實作打command。Oracle、SQL Server,現在除了提供免費的開發版本多,還有提供docker版本,希望把本地初次安裝的問題也解決了。Oracle的官方班,還會提供雲端的預安裝版本,你就可以省下本機資源做其他整合測試。寫程式方面,在早期,為推廣Web Frontend開發方面,已經有JSFiddle,很多朋友要試code,要做POC,都可以直接跑起程式看效果。這些,都是推廣IT知識的良好切入方式。 近年多得VM、Docker、VSCode,即使Web Backend,什至是Binary program,也完全可以提供遠端的實驗環境。良心的Github、GitPod,還有提供一定量免費的VM、Docker服務,你想把整個IDE放上Cloud,真的不再用像筆者以前要自己研究的CodeServer,用它提供的就好。不過遠端的環境還是有限制,例如你需要模擬硬件,或是需要很健全的測試環境,例如frontend backend cookie domain rewirte,又或是需要健全的除錯工具,都還是要等等。 好多事,雖然不能馬上上production,但look and feel,是吸引新朋友加入的重要關口。現今澳門IT的教育發展,就是總是留存在實體課,去指定的教室讀者PT教材,使用指定機器。若導師準備充足,就還好,可以順利實習,邊聽講解邊做實驗。頂多就是上課時間、地點不夠便利。但預者有一些老師不備課,食老本,Lab沒有提前預習,做live demo時才錯誤百,修正錯誤的時間成本很高。若要想更多人持續接受新事物,就必需要提供足夠多的可以實操的Lab,而且要可以自行重複。 對於澳門IT教育機構,希望可以提供更多的網上資源,讓學生可以解放地點和機器的限制。對於現在的ITSoftware的從業員,希望大家都可以擁抱DockerLinux Container,這樣才能最低成本地試用新事物。