SpringBoot環境隔離Profiles

前言

通常我們開發不可能只有一個生產環境,還會有其它的開發,測試,預發布環境等等。為了更好的管理每個環境的配置項,springboot也提供了對應的環境隔離的方法。

直接上干貨

知識點

激活環境方法

1,在application.properties或者yaml文件中配置:spring.profiles.active=環境1,環境2
2,命令行激活:java -jar xxx.jar --spring.profiles.active=環境1,環境2

補充

1,修改默認環境名稱 spring.profiles.default=test;

2,不管激活哪個環境,這些環境都要有 spring.profiles.include= security ?總是要生效的環境

3,對多環境進行分組:spring.profiles.group.name(你自己起名)=環境1,環境2 ?
?? ?也可以這么寫spring.profiles.group.name[0]=環境1
?? ?spring.profiles.group.name[1]=環境2
使用則相同:spring.profiles.active=name(group起的名)

補充相關注解:@Profile()

@Profile("dev") => 注解表示這個類只能在這些環境下生效, 如果值為"default"則表示:默認環境

注意

命名規范:application-(profiles標識).properties

代碼測試

照例準備啟動類

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Applications {public static void main(String[] args) {SpringApplication.run(Applications.class, args);}
}

準備配置文件application.properties

spring.profiles.active=devpro.b.value=b value in application

準備dev環境配置文件application-dev.properties

pro.a.value=this is dev
pro.b.value=b value in dev

testController類

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
@Slf4j
public class ProfilesTestController {@Value("${pro.a.value}")private String a;@Value("${pro.b.value}")private String b;@RequestMapping(method = RequestMethod.GET, path = "/profiles/test")public void test1() {log.info("測試激活環境是否生效" + a);log.info("測試與application.properties中配置項沖突時,生效為哪個:" + b);}}

啟動測試,測試結果如圖所示

這里需要注意,盡可能不要去在不同的properties寫相同的配置,如果你的代碼中加了一些別的東西,例如常用的配置解密功能等操作property的功能時,會出現與預想結果之外的輸出。如下圖,我加入自定義解密之后的輸出。

希望對各位看官老爺有幫助,如果可以的話,能否請各位老爺點個贊,關注一下博主呢,在這里非常感謝各位老爺了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13201.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13201.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13201.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

專用設備制造業供應商收發文件,有什么專業而輕便的方式嗎?

專用設備制造業的特點包括:門類廣、跨度大、科技含量高。它主要生產的是國民經濟各部門(包括采掘、化工、冶煉、能源、醫療衛生、環保等)所急需的重大成套設備,例如礦產資源井采及露天開采設備、大型火電、水電、核電成套設備、石…

教育行業文本短信VS視頻短信VS語音短信哪個好?

在教育行業中,文本短信、視頻短信和語音短信各有其優勢,選擇哪種方式更好取決于具體的應用場景和目標。 文本短信的優勢在于: 1.簡潔明了:能夠快速、直接地傳遞信息,對于需要快速通知或提醒的場景非常適用。 …

通過內網穿透免費部署我們的springboot+vue項目 實現跟服務器一樣的效果

前文講到通過內網穿透能夠實現遠程訪問個人電腦的靜態資源。本文將講解通過內網穿透實現遠程訪問本地的項目,實現跟部署到服務器一樣的效果:前文鏈接:通過內網穿透實現遠程訪問個人電腦資源詳細過程(免費)(…

深度學習之卷積神經網絡理論基礎

深度學習之卷積神經網絡理論基礎 卷積層的操作(Convolutional layer) 在提出卷積層的概念之前首先引入圖像識別的特點 圖像識別的特點 特征具有局部性:老虎重要特征“王字”僅出現在頭部區域特征可能出現在任何位置下采樣圖像&#xff0c…

Python 小抄

Python 備忘單 目錄 1.語法和空格 2.注釋 3.數字和運算 4.字符串處理 5.列表、元組和字典 6.JSON 7.循環 8.文件處理 9.函數 10.處理日期時間 11.NumPy 12.Pandas 要運行單元格,請按 ShiftEnter 或單擊頁面頂部的 Run(運行)。 1.語法和空格…

三種方法進行跨服務器文件傳輸

今天需要在一個centOS服務器上編譯一個工具, 我的本地主機是ubuntu, 但是由于服務器是合規環境, 沒有文件傳輸的接口, 也不能訪問github等外網, 所以很多依賴只能下載到ubuntu然后在想辦法搞到服務器上. 這種場景有三種簡單有用的辦法, 整理一下. 方法一: 把主機配置成http ser…

6---Linux下版本控制器Git的知識點

一、Linux之父與Git的故事: Linux之父叫做“Linus Torvalds”,我們簡稱為雷納斯。Linux是開源項目,所以在Linux的早期開發中,許多世界各地的能力各異的程序員都參與到Linux的項目開發中。那時,雷納斯每天都會收到許許…

用ntpdate同步時間出現問題

1. 使用ntpdate同步 [rootnode ~]# ntpdate ntp.aliyun.com4 Aug 00:07:17 ntpdate[20924]: adjust time server 203.107.6.88 offset -0.001543 sec2. 查看時間 [rootnode ~]# date Thu Aug 4 00:07:46 CST 20223. 如果時間對不上 報錯信息 cna02:~ # ntpdate ntp1.aliyu…

mysql社區版最多支持多個連接并發

MySQL社區版對于并發連接數的支持并沒有一個固定的上限,它實際上取決于多個因素,包括服務器的硬件配置、MySQL的配置參數以及應用程序的設計等。 硬件配置:服務器的CPU、內存和磁盤I/O等硬件資源會直接影響MySQL可以處理的并發連接數。例如&a…

VMware Fusion 13.5.2 for Mac 發布,產品訂閱模式首個重大變更

VMware Fusion 13.5.2 for Mac 發布,產品訂閱模式首個重大變更 適用于基于 Intel 處理器和搭載 Apple 芯片的 Mac 的桌面虛擬化軟件 請訪問原文鏈接:https://sysin.org/blog/vmware-fusion-13/,查看最新版。原創作品,轉載請保留…

vue props接收組件數據(類型配置)

"props"接收的常見傳參類型有以下幾種:String:字符串類型,Number:數字類型,Boolean:布爾類型,Array:數組類型,Object:對象類型,Date&am…

文章解讀與仿真程序復現思路——中國電機工程學報EI\CSCD\北大核心《集裝箱海港級聯物流-能源耦合系統協同優化方法 》

本專欄欄目提供文章與程序復現思路,具體已有的論文與論文源程序可翻閱本博主免費的專欄欄目《論文與完整程序》 論文與完整源程序_電網論文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 電網論文源程序-CSDN博客電網論文源…

FPGA - GTX收發器-K碼 以及 IBERT IP核使用

一,前言 在FPGA - Xilinx系列高速收發器---GTX中詳細介紹了GTX的基礎知識,以及IP核的調用,下面將補充一下GTX在使用中的高速串行數據流在接收和發送時的控制與對齊(K碼),以及高速接口GTX,如果G…

Springboot開發 -- Postman 調試 session 驗證 接口

當我們在開發Spring Boot應用時,經常會遇到帶有Session驗證的接口,這些接口需要用戶先登錄并獲取到Session ID(或稱為cookie中的JSESSIONID),然后在后續的請求中攜帶這個Session ID來保持會話狀態。下面我將以一個實際…

力扣72-編輯距離

題目鏈接 記憶化搜索: 解題關鍵:每次僅考慮兩字符串word1、word2分別從0 - i修改成0-j下標的完全匹配(下標表示) 臨界條件:當 i 或 j 小于0時,表示該字符串為空,編輯距離確定為 y1 或 x1 int dp[501][501…

Hello, GPT-4o!

2024年5月13日,OpenAI 在官網正式發布了最新的旗艦模型 GPT-4o 它是一個 多模態模型,可以實時推理音頻、視頻和文本。 * 發布會完整版視頻回顧:https://www.youtube.com/watch?vDQacCB9tDaw GPT-4o(“o”代表“omni”&#xff0c…

高效協同,智慧繪制:革新型流程圖工具全解析

流程圖,作為一種直觀展示工作過程和系統運作的工具,在現代辦公和項目管理中發揮著不可或缺的作用。 其優勢在于能夠清晰、直觀地呈現復雜的過程和關系,幫助人們快速理解并掌握關鍵信息。同時,流程圖也廣泛應用于各種場景&#xf…

linux常用命令(持續更新)

1.sudo -i 切換root權限 2. ll 和 ls 查看文件夾下面的文件 3. cat 查看文件內容 cat xxx.txt |grep 好 篩選出有好的內容 4. vi 編輯文件 點擊insert進入編輯模式 編輯完之后點擊Esc退出編輯模式 數據:wq!回車保存文件 5. ssh 連接到可以訪問的系統 6. telnet 看端口是否可以…

【Python】圖像批量合成視頻,并以文件夾名稱命名合成的視頻

一個文件夾中有多個子文件夾,子文件夾中有多張圖像。如何把批量把子文件夾中的圖像合成視頻,視頻名稱是子文件夾的名稱,生成的視頻保存到指定文件夾,效果記錄。 代碼 import os import cv2def create_video_from_images(image_f…

leetcode刷題(6):二叉樹的使用

文章目錄 104. 二叉樹的最大深度解題思路c 實現 94. 二叉樹的中序遍歷解題思路c 實現 101. 對稱二叉樹解題思路c 實現 96. 不同的二叉搜索樹解題思路c 實現 102. 二叉樹的層序遍歷解題思路c 實現 104. 二叉樹的最大深度 題目: 給定一個二叉樹 root ,返回其最大深度…