SpringBoot配置文件多环境开发

目录

一、设置临时属性的几种方法

1.启动jar包时,设置临时属性

​2.idea配置临时属性

3.启动类中创建数组指定临时属性

二、多环境开发

1.包含模式

2.分组模式

三、配置文件的优先级

[1.bootstrap 文件优先:](#1.bootstrap 文件优先:)

2.特定配置文件优先

3.文件夹位置优先

4.扩展名优先


一、设置临时属性的几种方法

1.启动jar包时,设置临时属性

2.idea配置临时属性

程序实参虚拟机选项,两个模式中,都可以设置临时属性

在程序实参中,**--**server.port=8088

在 虚拟机选项中,设置的是 -Dserver.port=8089

若两个设置不一致,以程序实参为准

3.启动类中创建数组指定临时属性

程序实参和虚拟机属性中设置的端口号,本质上都是在args[]中设置

我们可以在启动类中,自己新建一个数组arg[]存储临时配置,不采用编译器提供的args[]

java 复制代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
@SpringBootApplication
public class SecurityApplication {
    public static void main(String[] args) {
        String[] arg = new String[1];
        arg[0]="--server.port=8090";
        SpringApplication.run(SecurityApplication.class, arg);
    }
}

二、 多环境开发

1.包含模式

active:dev 指的是当前使用的是application-dev.yaml文件

inclue:DB: 并且引入application-DB.yaml文件

2.分组模式

active:dev 指的是当前采用的是"dev"这个组

"dev":dev,DB。"dev"这个组中引入了application-dev.yaml和application-DB.yaml文件

三、配置文件的优先级

1.bootstrap 文件优先:

bootstrap文件的优先级大于application文件的优先级。bootstrap 文件用于早期初始化,例如连接到外部配置中心(如 Spring Cloud Config)。这些配置需要在应用程序上下文启动之前加载。

2.特定配置文件优先

application-{profile}.ymlapplication-{profile}.properties 文件的优先级高于默认的 application.ymlapplication.properties 文件。

3.文件夹位置优先

resources/config目录下的优先级大于resource/目录下的优先级

4.扩展名优先

properties(最高)> yml > yaml(最低)

四、服务器上部署 jar包

在服务器上,使用docker部署jar包

SpringBoot项目常见应用的部署方法(合集)_springboot集群部署方案-CSDN博客

对Maven多模块开发配置不了解的建议看一下这篇:maven多模块开发-CSDN博客

相关推荐
cxyxiaokui00115 分钟前
线程池的“变形记”:核心线程数居然能随时变大变小?
java·面试
灵魂猎手22 分钟前
11. Mybatis SQL解析源码分析
java·后端·源码
努力的小郑1 小时前
别再说你会 new Object() 了!JVM 类加载的真相,绝对和你想的不一样
java·jvm·面试
cxyxiaokui0011 小时前
论如何优雅地让AI“闭嘴”:深入SpringAI的流式停止与记忆难题
java·后端
嗝屁小孩纸1 小时前
使用EasyExcel自定义导出表格
java·excel
the beard1 小时前
深入理解Java多线程:状态、安全、同步与通信
java·开发语言
pengzhuofan2 小时前
Java设计模式-享元模式
java·设计模式·享元模式
灵魂猎手2 小时前
10. Mybatis XML配置到SQL的转换之旅
java·后端·源码
掉鱼的猫2 小时前
10分钟带你体验 Solon 的状态机
java
皮皮林5512 小时前
从一个程序员的角度告诉你:“12306”有多牛逼?
java