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

相关推荐
程序员清风1 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊2 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing2 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠2 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840822 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide2 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家2 天前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺2 天前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户908324602732 天前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端