1. 程式人生 > >6.Springboot 之 多配置檔案

6.Springboot 之 多配置檔案

在程式開發過程中可能會有這樣的需求:開發和部署的配置資訊可能會不同,以傳統的方式就是在配置檔案裡面寫好配置,在部署的時候再去修改這些配置,這樣肯定會有很多問題,比如忘記修改、修改錯誤等。 而Springboot提供了多配置檔案的支援解決了這一問題。

Springboot的多配置檔案是指:系統中存在多個配置檔案,在不同的執行環境使用不同的配置檔案即可。

建立測試專案

新建的study04專案的檔案結構如下:

|-study04(專案名稱)
|  -  src
|  |  -  main
|  |  |  -  java
|  |  |  |  -  com.zslin
|  |  |  |  |  -  RootApplication.java
|  |
| - resources | | | | - application.properties | | | | - application-dev.properties | | | | - application-test.properties | | - test | | | - java | | | | - com.zslin | | | | | - MyTest.java | - pom.xml | - study04.iml
  • RootApplication.java
@SpringBootApplication
public class RootApplication { public static void main(String [] args) { SpringApplication.run(RootApplication.class, args); } }

這個Java檔案沒有什麼特別,只是一個最基本的Springboot的入口

  • application.properties
spring.profiles.active=dev

在核心配置檔案裡面的spring.profiles.active=dev這個設定表示系統預設使用dev(即application-dev.properties

)中的配置。

  • application-dev.properties
server.port=2222
test.msg=this is dev config

在這個配置檔案裡面只設置了埠為2222,和配置test.msgthis is dev config

  • application-test.properties
server.port=1111
test.msg=this is test config

在這個配置檔案裡面和application-dev.properties中的配置一樣,只是對應值有所不同。

現在在系統中已經有兩種不同的配置資訊,只是預設是使用application-dev.properties中的配置。

  • MyTest.java
@RunWith(SpringRunner.class)
@SpringBootTest
public class MyTest {

    @Value("${test.msg}")
    private String msg;

    @Test
    public void testConfig() {
        System.out.println("cur msg is : "+ msg);
    }
}

這裡的輸入結果是:cur msg is : this is dev config,說明現在使用的配置檔案是application-dev.properties

注意: 當將application.properties的內容修改為spring.profiles.active=test後,再執行這個測試方法時將得到結果:cur msg is : this is test config

  • 在單元測試中指定配置檔案
@RunWith(SpringRunner.class)
@SpringBootTest
@ActiveProfiles("test")
public class MyTest2 {

    @Value("${test.msg}")
    private String msg;

    @Test
    public void testConfig() {
        System.out.println("cur msg is : "+ msg);
    }
}

MyTest2MyTest唯一的區別就是在MyTest2的類上多加了一個註釋,加上這個註釋就表示現在使用application-test.properties這個配置檔案,同樣換成dev也就是使用application-dev.properties中的配置。

執行測試方法即可得到對應配置檔案中的資訊。

  • 啟動專案時指定不同的配置檔案

啟動專案的方法一般有兩種 :

1、 執行RootApplication中的main方法。

2、 使用命令:mvn spring-boot:run

這兩方法預設都是使用application.properties中的配置資訊,如果有指定spring.profiles.active則使用指定的配置資訊,這種方式一般用在產品執行時,在開發和測試的時候則需要指定配置檔案。

執行main可以在執行裡的Config裡面來配置,這個我基本沒有使用過,我用的是第二種方法:

mvn spring-boot:run -Dspring.profiles.active=dev 即使用application-dev.properties中的配置資訊,此時可以看到控制檯顯示系統使用的埠是dev中的2222

多配置檔案這塊我應用的較多的是在資料庫的配置,開發過程中的資料庫肯定是在本機,使用者名稱和密碼也是本機資料庫的,而當專案部署到伺服器時,資料庫的地址、使用者名稱和密碼就得修改,所以使用了多配置檔案,只需要在啟動專案的時候指定配置檔案即可。

相關推薦

6.Springboot 配置檔案

在程式開發過程中可能會有這樣的需求:開發和部署的配置資訊可能會不同,以傳統的方式就是在配置檔案裡面寫好配置,在部署的時候再去修改這些配置,這樣肯定會有很多問題,比如忘記修改、修改錯誤等。 而Springboot提供了多配置檔案的支援解決了這一問題。 Springboot的多配置檔案是指:系統中存在多個配置檔

SpringBoot屬性配置檔案詳解

在之前的各篇文章中都有提及關於application.properties的使用,主要用來配置資料庫連線、日誌相關配置等。除了這些配置內容之外,本文將具體介紹一些在application.properties配置中的其他特性和使用方法。 自定義屬性與載入 我們在使用Spring Boot的時候,通常也

SpringBootSpringBoot入門配置檔案

介紹:example02 相信很多人選擇Spring Boot主要是考慮到它既能兼顧Spring的強大功能,還能實現快速開發的便捷。我們在Spring Boot使用過程中,最直觀的感受就是沒有了原來自己整合Spring應用時繁多的XML配置內容,替代它的是在p

springboot讀取配置檔案中文亂碼

方式一:配置檔案新增banner.charset=UTF-8 server.tomcat.uri-encoding=UTF-8 spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true sprin

springboot個filter的執行順序以及配置

當專案中有多個filter時,為了便於管理,可以建立一個配置檔案,對所有的filter進行管理。有的方法可能同時需要多個filter依次對其進行過濾,這時候便需要對filter的執行進行優先順序的排序。如下:新建一個配置檔案ComponentFilterOrderConfig

使用IDEA搭建SpringBoot環境配置檔案

啟動SpringBoot 開啟SpringBootApplication啟動類,滑鼠右鍵RUN項,或者Ctrl+Shift+F10,生成啟動配置 生成dev環境的配置檔案 /src/main/

SpringBoot環境配置《二》

一個工程或者一個專案,在不同的環境中,配置都可能不一樣,如專案的訪問地址,埠,連線資料庫方式等; 出於不同環境,專案的配置檔案不一樣,springboot是給到了支援的,我們可以自由的切換對應環境的配置檔案 在application.properties同一級

SpringBoot 系列-5 配置檔案自定義配置檔案

自定義配置檔案也是放在resources下面 我們拿rabbitMq舉個列子 內容如下: 然後我們新建一個JAVA類 package com.example.demo; import org.springframework.beans.factory.annotatio

SpringBoot 使用properties配置檔案實現環境配置

一.前言 實際專案開發過程中會用到多個環境,比如dev,test,product環境,不同的環境可能使用不同引數,為便於部署提高效率,本篇主要通過properties配置檔案來實現多環境的配置。 二.多環境配置實現 分別建立application-dev.properties,application-te

Springboot 檔案上傳-知識林

本文章來自【知識林】 檔案上傳在各種網站平臺上應用都非常廣泛,這篇文章將講述在Springboot中是如何完成檔案上傳的,Springboot是打包執行的,上傳後的檔案又該何去何從? pom.

idea springboot 配置檔案啟動設定

idea一個專案選擇多個配置檔案啟動 1.先選擇這個點選進去 2.點選+號,選擇和你想要多配置啟動專案一樣的型別,然後選擇,我這裡是springboot 3.點選之後就是這個了, name:就是你想把這個新的例項叫什麼名字,推薦根據配置檔案來(埠號),例如,X

最簡單的SpringBoot示例.yml配置檔案

1.上一次我們已經使用SpringBoot實現了一個簡單的HelloWord程式,辣麼接下來我們簡單的使用一下他的yml格式的配置檔案。 2.在 resources 目錄下建立一個 application.yml檔案(如下),配置資訊包括伺服器資訊和一個我們自定

springboot專案靈活化配置檔案的各種ip埠

事件起源,公司的測試每次打包都需要開發幫忙打包,然而每次打包呢,開發這邊都得把mysql的ip,memcached的ip等各種ip先修改成測試想要的再打包,這樣肯定麻煩啊。後來測試就想能不能把這調整一下,省的麻煩。後來,當然是靈感一閃啦...... 我想著就是把各個寫死的ip,用一個公共變數替代

RHEL samba 服務配置檔案安全管理

某公司以RHEL系統配置伺服器,現為了共享各類文件資料,要求在rhel系統上建立一個共享目錄/tec,該目錄對技術部門員工完全開放,/sale目錄對銷售部門人員完全開放。現公司有如下三類人員需要登入samba伺服器使用這2個共享目錄,要求如下: 1、技術部門人員登入時,只能見到/tec,能訪問該目錄且有完全

SpringBoot學習_配置檔案的載入位置

spring boot 啟動會掃描以下位置的application.properties或者 application.yml檔案作為Spring boot的預設配置檔案 file:./config/:檔案路徑下的config資料夾 file:./:檔案路徑下 clas

SpringBoot學習_配置檔案佔位符

文章目錄 隨機數 佔位符獲取之前配置的值,如果沒有可以用:指定預設值 隨機數 ${random.value}、${random.int}、${random.long} ${random.int(10)}、${random.

Python模組: ConfigParser 配置檔案讀取 Python模組: ConfigParser 配置檔案讀取

Python模組之: ConfigParser 配置檔案讀取   ConfigParser用於讀寫類似INI檔案的配置檔案,配置檔案的內容可組織為組,還支援多個選項值(option-value)型別。 ConfigParser使用用的配置檔案格式由一個或多個命名的節(s

初識WCF使用配置檔案部署WCF應用程式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

springboot三種配置檔案上傳下載大小的配置

配置檔案為application.yml格式: spring: http: multipart: enabled: true max-file-size: 30MB max-request-size: 30MB第二種: package com.haiyiso

SpringBoot原始碼分析 配置檔案的載入原理和優先順序

從SpringBoot原始碼分析 配置檔案的載入原理和優先順序 本文從SpringBoot原始碼分析 配置檔案的載入原理和配置檔案的優先順序     跟入原始碼之前,先提一個問題:   SpringBoot 既可以載入指定目錄下的配置檔案獲取配置項,也可