SpringProfile輕鬆切換多環境配置檔案
在專案開發的過程中,我們難免會遇到開發、測試、生產等環境的切換,而各個環境的配置肯定是不同的。傳統的辦法是在專案打包的時候修改配置檔案。但人為做的事情難免產生意外。Spring 為我們提供了一種多環境配置檔案同時存在,而執行/打包時僅執行所選的配置檔案的方式。具體的介紹如下:
Spring提供了兩種屬性:
spring.profiles.active
spring:
profiles:
# active: yaya
active: keats
指定啟用哪個檔案,值是 application-{profileName}.yml 中的 profileName。用於區分不同的執行環境。
PS:如果 application.yml 和被啟用的 yml 中同時配置了一個相同的鍵,被啟用的yml中的值會覆蓋 application.yml 中的值。
spring.profiles.include
spring:
profiles:
include: yayaDB,yayaRedis
指定包含(合併)多個yml的內容一起啟動。這樣有助於同環境下yml檔案的分類管理
PS:像上面 include 值是多個的情況,除了使用 , 分隔的輸入方式外,還可以使用 換行 - profileName 的方式,這是 yml 的一種語法。如果不清楚 yml 的語法,可以參考 SpringBoot入門及YML檔案詳解
spring:
profiles:
include:
- yayaDB # 注意換行和空格
- yayaRedis
接下來是一個示例的DEMO專案,專案的結構如下:
各檔案內容如下:
application.yml
spring:
profiles:
active: yaya
# active: keats
server:
port: 9001 # 如果被啟用的 yml 中有相同的配置,會覆蓋此值
application-keats.yml
server: port: 9000 eureka: server: enable-self-preservation: false # 關閉自我保護 eviction-interval-timer-in-ms: 4000 # 剔除服務間隔,單位/ms instance: hostname: localhost client: register-with-eureka: false # 是否將自己註冊到註冊中心 fetch-registry: false # 是否從Eureka中獲取註冊資訊 service-url: # Eureka Client 的請求地址 defaultZone: http://#{eureka.instance.hostname}:#{server.port}/eureka/
application-yaya.yml
spring:
profiles:
include: yayaDB,yayaRedis
application-yayaDB.yml
# 專門配置DB 的yml,實際專案中可以根據需求,配置檔案多了需要分類就分類,少了用不著分類就一種環境一個YML# 這裡因為Eureka服務用不到連線資料庫,用埠號配置資訊代替
server:
port: 9100
application-yayaRedis.yml
# 可以專門用來配置Redis的資訊。這裡因為用不到Redis。我就用除埠以外的其他配置資訊填充了
eureka:
server:
enable-self-preservation: false # 關閉自我保護
eviction-interval-timer-in-ms: 4000 # 剔除服務間隔,單位/ms
instance:
hostname: localhost
client:
register-with-eureka: false # 是否將自己註冊到註冊中心
fetch-registry: false # 是否從Eureka中獲取註冊資訊
service-url: # Eureka Client 的請求地址
defaultZone: http://#{eureka.instance.hostname}:#{server.port}/eureka/
按照以上的 yml 配置之後,就可以通過註釋與放開不同的 active,來實現環境的切換了。
順便教大家另外一個技能:
Idea將同一個專案多次啟動
選擇對應的專案啟動類,點選 Edit Configurations
取消勾選: Single instance only
相關推薦
SpringProfile輕鬆切換多環境配置檔案
在專案開發的過程中,我們難免會遇到開發、測試、生產等環境的切換,而各個環境的配置肯定是不同的。傳統的辦法是在專案打包的時候修改配置檔案。但人為做的事情難免產生意外。Spring 為我們提供了一種多環境配置檔案同時存在,而執行/打包時僅執行所選的配置檔案的方式。具體的介紹如下: Spring提供了兩種屬性: s
spring 筆記3: Spring 多環境配置檔案切換
使用Spring進行開發時,需要面對不同的執行環境,比如開發環境、測試環境、生產環境等。大多時候不同的環境需要不同的配置檔案。網上很多資料都是使用Spring的Bean definition profiles 功能來實現(https://docs.spring.io/spring/docs/4.2.
spring boot多環境配置檔案讀取不到的問題。
程式碼架構: 其中application.yaml中就三行程式碼: 作用是在IED啟動的時候指定當前環境。 但是其實我不是這麼做的,而是在idea中指定。 產生問題: 引入了一個自己寫的starter[jar包],jar包中配置了test環境的配置。但是專案啟動的時候指定了prof
application.properties多環境配置檔案、jar包外部配置檔案、配置項加密、程式中配置使用
一、簡介 spring boot專案application.properties檔案存放及使用介紹 二、方法一多環境配置檔案 我們一般都會有多個應用環境,開發環境、測試環境、生產環境,各個環境的配置會略有不同,我可以根據這個建立多份配置檔案,由主配置檔案來控制讀取那個子配置 建立spring boot專案
springboot多環境配置檔案
springboot在多環境配置上有很好的支援,先說一下為什麼需要多環境。在軟體開發,測試上線的過程中,我們可能用到的配置引數是不同的,最明顯的是資料庫的連線地址。那麼在不同的環境中我們如何通過讀取不同的配置檔案呢?springboot提供了一套約定優於配置的方案。1、在ap
Spring-boot與maven多環境配置檔案設定
通常在開發時,不同的環境有不同的配置引數,通常會使用maven profile來選擇不同環境的配置檔案。下面介紹spring-boot專案如何與maven結合,來根據環境選擇不通的配置引數。 建立屬性配置檔案 首先為不同的環境配置不同的屬性配置檔案,命名
Maven 多環境配置檔案管理
通常,專案在生產環境跟開發環境中,配置引數多少會有一點差異,比如:日誌路徑、資料庫地址等等。所以每次打生產環境的包,需要修改一些配置檔案,如果手工修改配置檔案的話,就太浪費人力物力,而且還容易手滑改錯。 實際開發中需要根據不同環境將資源分別存放,構建部署包的時
SpringBoot系統列 2 - 配置檔案,多環境配置(dev,qa,online) SpringBoot系統列 1 - HelloWorld!
實現專案的多環境配置的方法有很多,比如通過在Pom.xml中配置profiles(最常見) 然後在Install專案打War包的時候,根據需求打不同環境的包,如圖: 這種配置多環境的方法在SSM框架中使用的最多,但在SpringBoot中使用最多的是在啟動SpringBoot專案的時候指定執
Maven 進行多環境配置,使用profile檔案進行配置
說明:Spring和Maven都可以進行profile配置多環境,這裡只介紹Maven進行管理。我的開發環境:eclipse+maven 檔案結構目錄: 步驟: 一、在pom.xml檔案中,新增如下: <profiles> <pr
Spring Boot 配置檔案詳解:自定義屬性、隨機數、多環境配置等
相信很多人選擇Spring Boot主要是考慮到它既能兼顧Spring的強大功能,還能實現快速開發的便捷。我們在Spring Boot使用過程中,最直觀的感受就是沒有了原來自己整合Spring應用時繁多的XML配置內容,替代它的是在pom.xml中引入模組化的Starter POMs,其中各個模組都有自己的預
Spring boot 的profile功能如何實現多環境配置自動切換
通常服務端應用開發需要經過以下幾個流程: 開發 -> 測試 -> RC驗證 -> 上線 這就涉及到四個不同的環境,開發環境、測試環境、RC環境以及生產環境,為了避免不同環境之間相互干擾,通常需要獨立部署資料庫、快取伺服器等,那麼應用配置也要做相應的調整。
SpringBoot入門筆記09——屬性配置檔案詳解以及多環境配置
SpringBoot的外部配置 Spring Boot允許將配置外部化(externalize) ,這樣你就能夠在不同的環境下使用相同的程式碼。你可以使用properties檔案,YAML檔案,環境變數和命令列引數來外部化配置。使用@Value註解,可以直接將屬性值注入到beans中,然
Linux環境下多庫svn安裝與配置(獨立庫,多個配置檔案)
[先在伺服器中開啟放行 3690 埠!!!] (1)檢視是否已經安裝了svn 命令:svnserve --version 沒有安裝,出現下面資訊-> 已經安裝,出現下面版本資訊-> 檢視安裝svn的路徑資訊:rpm -ql subversion
maven多環境配置及檔案命名
網上有很多相關的配置的部落格,都比較零散。找到了可以用的方案,測試有效,做記錄備份~ 專案中很多配置項,全部彙總到resources/properties目錄下,但是測試環境和生產環境的專案需要的配置檔案是不一樣的,每次打包部署不可能還修改配置檔案,因此想到偷懶。 包含兩個效
springMVC的多環境配置_基於springprofile
記錄一下springMVC專案的多環境的切換。基於springprofile。 一 簡單實現 1 首先將配置檔案進行分離,分成development(本地環境)、test(測試環境)、production(正式環境) 配置檔案目錄如下 common
springboot 配置檔案:多環境配置
在實際做專案的時候,至少有3個執行環境,開發環境、測試環境、生產環境。不同的環境下,存在不同的配置,例如資料庫、下載、上傳地址等。 在以往的專案開發中,大多數情況下都是將專案放在不同的環境時再修改相應的配置檔案,或者自己先將配置複製一份,然後覆蓋一下,功能到是不麻煩,但是如
Spring Boot基礎4-配置檔案-多環境配置
一. 多環境配置的好處: 1.不同環境配置可以配置不同的引數 2.便於部署,提高效率,減少出錯 二. Properties多環境配置 1. 配置啟用選項 spring.profile
spring boot 多環境配置讀取屬性檔案
相信很多人選擇Spring Boot主要是考慮到它既能兼顧Spring的強大功能,還能實現快速開發的便捷。我們在Spring Boot使用過程中,最直觀的感受就是沒有了原來自己整合Spring應用時繁多的XML配置內容,替代它的是在pom.xml中引入模組化的Starte
springboot 配置檔案之多環境配置
1. application.properties 在父配置檔案(application.properties)中啟用要選用的子配置檔案 spring.profiles.active=dev 子配置檔案 dev 內容如下: server.port=9996 sprin
51. spring boot屬性檔案之多環境配置【從零開始學Spring Boot】(
【視訊&交流平臺】 http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=40000000