《springboot实战》第二章 springboot 配置文件、多环境配置、运行优先级

文章详细介绍了SpringBoot如何进行多环境配置,包括使用properties和YML文件,通过spring.profiles.active切换开发、测试和生产环境,以及配置文件的加载顺序和优先级。同时提到了命令行和虚拟机参数激活配置文件的方法。

系列文章目录

第一章 SpringBoot起步
第二章 springboot 配置文件、多环境配置、运行优先级
第三章 springboot 统一日志
第四章 SpringBoot加载静态文件资源
第五章 springboot 拦截器
第六章 实现自定义全局异常处理
第七章 springboot 数据库应用
第八章 springboot 整合Druid
第九章 springboot 整合MyBatis - xml、注解篇
第十一章 整合Mybatis plus
第十二章 SpringBoot整合swagger-bootstrap-ui



在这里插入图片描述


前言

提问:springboot项目,开发环境、测试环境和生产环境配置文件如何分开表示?

答:多profile文件方式

1、多环境配置(profile)

1.1、properties文件配置

application.properties:主配置文件
主配置文件配置决定加载哪个环境的配置文件

  spring.profiles.active=dev

根据spring.profiles.active值,选择加载不同环境配置

application-{profile}.properties

开发、测试、生产环境配置文件:

  • application-dev.properties:开发环境配置文件
  • application-test.properties:测试环境配置文件
  • application-prod.properties:生产环境配置文件

1.2、YML文件配置

application.yml:主配置文件
主配置文件配置决定加载哪个环境的配置文件

  spring:
      profiles:
          active:dev

根据spring.profiles.active值,选择加载不同环境配置

application-{profile}.yml

开发、测试、生产环境配置文件:

  • application-dev.yml:开发环境配置文件
  • application-test.yml:测试环境配置文件
  • application-prod.yml:生产环境配置文件

1.3、修改主配置文件切换配置

1.3.1、切换生产配置

#默认配置
server:
  port: 8080
#切换配置
spring:
  profiles:
    active: prod

1.3.2、切换开发配置

#开发环境配置
server:
  port: 8080
#切换配置
spring:
  profiles:
    active: dev

1.3.3、切换测试配置

#测试环境配置
server:
  port: 8080
#切换配置
spring:
  profiles:
    active: test

1.4、命令行激活配置文件

1.4.1、命令行激活配置文件

java -jar springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

1.4.2、虚拟机参数激活

java -Dspring.profiles.active=dev -jar springboot-0.0.1-SNAPSHOT.jar

2、默认配置文件

Spring Boot 启动时会扫描以下 5 个位置的 application.properties 或 apllication.yml 文件,并将它们作为 Spring boot 的默认配置文件。

  • file:./config/*/
  • file:./config/
  • file:./
  • classpath:/config/
  • classpath:/

2.1、file

指当前项目根目录;

2.2、classpath

指当前项目的类路径,即 resources 目录。
注意事项:

  • 位于相同位置的 application.properties 的优先级高于 application.yml
  • 所有位置的文件都会被加载,高优先级配置会覆盖低优先级配置,形成互补配置,即:
    • 存在相同的配置内容时,高优先级的内容会覆盖低优先级的内容;
    • 存在不同的配置内容时,高优先级和低优先级的配置内容取并集。

3、外部配置文件

可通过指定外部配置文件的路径(默认配置文件失效)

3.1、spring.config.location

  java -jar xxxx.jar --spring.config.location=外部文件

3.2、spring.config.additional-location

默认配置文件公共生效,其优先级是最高。

 java -jar xxxx.jar --spring.config.additional-location=外部文件
案例

4、配置文件优先级

以下是常用的 Spring Boot 配置形式及其加载顺序(优先级由高到低):

  • 命令行参数
  • 配置文件(YAML 文件、Properties 文件)
  • @Configuration 注解类上的 @PropertySource 指定的配置文件
  • 通过 SpringApplication.setDefaultProperties 指定的默认属性

配置文件
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青花锁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值