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

相关推荐
此木|西贝3 分钟前
【设计模式】模板方法模式
java·设计模式·模板方法模式
wapicn9913 分钟前
手机归属地查询Api接口,数据准确可靠
java·python·智能手机·php
hycccccch40 分钟前
Springcache+xxljob实现定时刷新缓存
java·后端·spring·缓存
wisdom_zhe1 小时前
Spring Boot 日志 配置 SLF4J 和 Logback
java·spring boot·logback
揣晓丹1 小时前
JAVA实战开源项目:校园失物招领系统(Vue+SpringBoot) 附源码
java·开发语言·vue.js·spring boot·开源
于过1 小时前
Spring注解编程模型
java·后端
北随琛烬入1 小时前
Spark(10)配置Hadoop集群-集群配置
java·hadoop·spark
顽疲1 小时前
从零用java实现 小红书 springboot vue uniapp (11)集成AI聊天机器人
java·vue.js·spring boot·ai
Yan-英杰2 小时前
DeepSeek-R1模型现已登录亚马逊云科技
java·大数据·人工智能·科技·机器学习·云计算·deepseek
TDengine (老段)2 小时前
TDengine 中的日志系统
java·大数据·数据库·物联网·时序数据库·tdengine·iotdb