springboot3環(huán)境隔離的實現
Profiles
環(huán)境隔離能力;快速切換開發(fā)、測試、生產環(huán)境
步驟:
- 標識環(huán)境:指定哪些組件、配置在哪個環(huán)境生效{dev 開發(fā)環(huán)境 test 測試環(huán)境 prod 生產環(huán)境 defult 默認環(huán)境 }
- 切換環(huán)境:這個環(huán)境對應的所有組件和配置就應該生效 只有激活對應的環(huán)境,這些組件才會生效
使用
指定環(huán)境
Spring Profiles 提供一種隔離配置的方式,使其僅在特定環(huán)境生效;
任何@Component, @Configuration 或 @ConfigurationProperties 可以使用 @Profile 標記,來指定何時被加載?!救萜髦械慕M件都可以被 @Profile標記】
環(huán)境激活
配置激活指定環(huán)境; 配置文件
spring.profiles.active=production,hsqldb
也可以使用命令行激活。--spring.profiles.active=dev,hsqldb
還可以配置默認環(huán)境; 不標注@Profile 的組件永遠都存在。
- 以前默認環(huán)境叫default
- spring.profiles.default=test 不推薦通過修改默認環(huán)境的方式來切換環(huán)境
推薦使用激活方式激活指定環(huán)境
也可以使用命令行激活。--spring.profiles.active=dev,hsqldb
還可以配置默認環(huán)境; 不標注@Profile 的組件永遠都存在。
- 以前默認環(huán)境叫default
- spring.profiles.default=test
推薦使用激活方式激活指定環(huán)境
環(huán)境包含
注意:
spring.profiles.active 和spring.profiles.default 只能用到 無 profile 的文件中,如果在application-dev.yaml中編寫就是無效的
也可以額外添加生效文件,而不是激活替換。比如:
spring.profiles.include[0]=common #包含指定的環(huán)境,不管激活哪個環(huán)境 spring.profiles.include[1]=local
最佳實戰(zhàn):
- 生效的環(huán)境 = 激活的環(huán)境/默認環(huán)境 + 包含的環(huán)境【總是要生效的環(huán)境】
- 項目里面這么用
- 基礎的配置mybatis、log、xxx:寫到包含環(huán)境中
- 需要動態(tài)切換變化的 db、redis:寫到激活的環(huán)境中
Profile 分組
創(chuàng)建prod組,指定包含db和mq配置
spring.profiles.group.prod[0]=db spring.profiles.group.prod[1]=mq #直接按組激活相應的環(huán)境 ,組內可以寫環(huán)境配置也可以寫其他的環(huán)境配置組
使用--spring.profiles.active=prod ,就會激活prod,db,mq配置文件
Profile 配置文件
application-{profile}.properties可以作為指定環(huán)境的配置文件。
激活這個環(huán)境,配置就會生效。最終生效的所有配置是
- application.properties:主配置文件,任意時候都生效
- application-{profile}.properties:指定環(huán)境配置文件,激活指定環(huán)境生效
profile優(yōu)先級 > application
項目的所有生效配置項 = 激活環(huán)境配置中的所有項 + 主配置文件中的與環(huán)境配置文件不沖突的項
到此這篇關于springboot3環(huán)境隔離的實現的文章就介紹到這了,更多相關springboot3環(huán)境隔離內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決PageHelper的上下文問題導致SQL查詢結果不正確
主要介紹了PageHelper在使用過程中出現的分頁上下文問題,并分析了可能的原因和解決方案,主要解決方案包括每次分頁查詢后調用`PageHelper.clearPage()`清理分頁上下文,確保每次查詢前正確調用`startPage`,以及避免在條件判斷未執(zhí)行SQL時影響后續(xù)查詢2024-12-12SpringBoot的監(jiān)控(Actuator)功能用法詳解
這篇文章主要介紹了SpringBoot的監(jiān)控(Actuator)功能用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03