日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springboot根据环境装配配置文件、启动加载外置配置文件

發布時間:2025/3/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot根据环境装配配置文件、启动加载外置配置文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、profile功能

1.簡介

2.application-profile功能

3.profile條件裝配

4.profile分組

二、外部化配置

1.官方文檔

2.獲取系統的環境變量、屬性(擴展)

3.外部配置源

4.配置文件(application.yaml)查找位置

5.配置文件加載順序


一、profile功能

1.簡介

為了方便多環境適配,springboot簡化了profile功能。

2.application-profile功能

(1)注意事項

① 默認配置文件 application.yaml;任何時候都會加載

② 指定環境配置文件 application-{env}.yaml

③ 默認配置與環境配置同時生效,同名配置項,環境配置文件(application-{env}.yaml)優先

④ 修改配置文件的任意值,命令行優先

(2)激活方式

① 配置文件激活

application.yaml 中加入配置,即可以激活指定的配置文件application-{env}.yaml

spring:profiles:active: test # 指定激活的環境

② 命令行激活

# 修改激活的環境 java -jar cxf-1.0-SNAPSHOT.jar --spring.profiles.active=prod # 修改默認的配置,命令行優先 java -jar cxf-1.0-SNAPSHOT.jar --spring.profiles.active=prod --server.port=8088

3.profile條件裝配

// 可以注釋方法、類,根據環境來裝配 @Configuration(proxyBeanMethods = false) @Profile("production") public class ProductionConfiguration {// ... } @Configuration public class MyConfig {@Profile("prod")@Beanpublic Color red(){return new Color();}@Profile("test")@Beanpublic Color green(){return new Color();} } @Profile("test") @Component @ConfigurationProperties("person") @Data public class Worker implements Person {private String name;private Integer age; }@Profile(value = {"prod","default"}) @Component @ConfigurationProperties("person") @Data public class Boss implements Person {private String name;private Integer age; }public interface Person {String getName();Integer getAge(); }

4.profile分組

spring.profiles.group.production[0]=uat spring.profiles.group.production[1]=test使用:--spring.profiles.active=production 激活整組的環境配置

二、外部化配置

1.官方文檔

Core Features

2.獲取系統的環境變量、屬性(擴展)

ConfigurableApplicationContext run = SpringApplication.run(Boot09FeaturesProfileApplication.class, args); ConfigurableEnvironment environment = run.getEnvironment();Map<String, Object> systemEnvironment = environment.getSystemEnvironment(); Map<String, Object> systemProperties = environment.getSystemProperties();System.out.println(systemEnvironment); // 環境變量 System.out.println(systemProperties); // 系統屬性 @Value("${MAVEN_HOME}") private String msg;@Value("${os.name}") private String osName;

3.外部配置源

常用:Java屬性文件、YAML文件、環境變量、命令行參數等。

4.配置文件(application.yaml)查找位置

注意:后面的可以覆蓋前面的同名配置項

(1)?項目classpath 根路徑

(2) classpath 根路徑下config目錄

(3) jar包當前目錄

(4) jar包當前目錄的config目錄

(5) /config子目錄的直接子目錄

5.配置文件加載順序

指定環境優先,外部優先,后面的可以覆蓋前面的同名配置項

(1)當前jar包內部的application.properties和application.yml

(2)當前jar包內部的application-{profile}.properties 和 application-{profile}.yml

(3)引用的jar包外部的application.properties和application.yml

(4)引用的jar包外部的application-{profile}.properties 和 application-{profile}.yml

總結

以上是生活随笔為你收集整理的springboot根据环境装配配置文件、启动加载外置配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。