當前位置:編程學習大全網 - 源碼下載 - springboot application.properties 寫多個配置文件怎麽寫

springboot application.properties 寫多個配置文件怎麽寫

我的文章:《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.msg為this 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);

}

}

MyTest2與MyTest唯壹的區別就是在MyTest2的類上多加了壹個註釋@ActiveProfiles("test"),加上這個註釋就表示現在使用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

多配置文件這塊我應用的較多的是在數據庫的配置,開發過程中的數據庫肯定是在本機,用戶名和密碼也是本機數據庫的,而當項目部署到服務器時,數據庫的地址、用戶名和密碼就得修改,所以使用了多配置文件,只需要在啟動項目的時候指定配置文件即可。

示例代碼:/zsl131/spring-boot-test/tree/master/study04

  • 上一篇:世界遊戲百科51:解鎖整個獎杯的經驗分享
  • 下一篇:彩虹市的重要建築
  • copyright 2024編程學習大全網