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博客

相关推荐
Java搬码工8 小时前
CompletableFuture 完整详解 + 全场景使用案例
java
许心月8 小时前
Java学习资料网站汇总
java
c238568 小时前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
帅次9 小时前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
X-⃢_⃢-X9 小时前
一、第一阶段:认识 Spring Boot
java·spring boot·后端
前端工作日常9 小时前
我学习到的Java程序的生命周期
java·后端
SunnyDays10119 小时前
Java 实现 PDF 页面删除、排序、旋转和裁剪
java·pdf
人工干智能10 小时前
科普:Pandas 索引器 loc 与 iloc 的编程思维
java·人工智能·pandas
持力行10 小时前
C++与Java变量声明、定义及内存分配的核心区别
java·开发语言·c++
接着奏乐接着舞12 小时前
大模型开发 agent 知识库
java