NipGeihou's blog NipGeihou's blog
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档

NipGeihou

我见青山多妩媚,料青山见我应如是
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档
  • 设计模式

  • 开发规范

  • 经验分享

  • 记录

    • 「记录」SpringBoot与前端传递的json中属性映射读写注解
    • Maven常用命令
    • 「记录」Java使用CAS更新对象字段值
    • 「MyBatis」MyBatis常用标签
    • 改造ruoyi-cloud
    • Mybatis-plus使用JSON类型
    • RuoYi-Cloud-Plus

    • Spring

      • Spring经验总结
      • 「Spring Boot」配置优先级
        • 配置方式
          • 命令行方式
          • 系统变量方式
          • Java系统属性方式
          • 配置文件方式
        • 优先级
        • 参考资料
      • 注解 - @Transactional 事务
    • 源码分析

  • 快速开始

  • 笔记

  • 面试题

  • 微服务

  • 踩过的坑

  • Java
  • 记录
  • Spring
NipGeihou
2022-08-09
目录

「Spring Boot」配置优先级

# 配置方式

激活的 profiles 要在项目内创建对应的配置文件,格式为 application-{profile}.yml 。

# 命令行方式

命令行方式 是一种外部配置的方式,在执行 java -jar 命令时可以通过 --spring.profiles.active=test 的方式进行激活指定的 profiles 列表。

使用方式如下所示:

java -jar order-service-v1.0.jar --spring.profiles.active=dev &> order-service.log &

# 系统变量方式

Mac/Linux 系统配置环境变量

编辑环境变量配置文件 /etc/profile ,添加名为 SPRING_PROFILES_ACTIVE 的环境变量,如下所示:

# spring 环境激活
export SPRING_PROFILES_ACTIVE=dev

Windows 系统配置环境变量

环境变量的配置方式请参考 Java 环境变量配置,新建一个名为 SPRING_PROFILES_ACTIVE 的系统环境变量,设置变量的值为 dev 即可。

系统变量的方式适用于系统下所部署统一环境的 SpringBoot 应用程序,如统一部署的都是 prod 环境的应用程序。

命名转换规则

spring.profiles.active  ->  SPRING_PROFILES_ACTIVE
spring.cloud.nacos.discovery.register-enabled  -> SPRING_CLOUD_NACOS_DISCOVERY_REGISTERENABLED
demo.test[1].ab-cd-ef  ->  DEMO_TEST_1_ABCDEF

# Java 系统属性方式

Java系统属性方式 也是一种外部配置的方式,在执行 java -jar 命令时可以通过 -Dspring.profiles.active=test 的方式进行激活指定的 profiles 列表。

使用方式如下所示:

java -Dspring.profiles.active=dev -jar order-service-v1.0.jar &> order-service.log &

注意: -D 方式设置 Java系统属性 要在 -jar 前定义。

# 配置文件方式

配置文件方式 是最常用的方式,不过灵活性不强,局限性比较大,不建议使用这种方式来激活配置文件。

我们只需要在 application.yml 配置文件添加配置即可,使用方式如下所示:

spring:
  profiles:
    # 激活profiles
    active: dev

# 优先级

命令行方式 > Java系统属性方式 > 系统变量方式 > 配置文件方式

# 参考资料

  1. SpringBoot 激活 profiles 你知道几种方式? - SegmentFault 思否 (opens new window)
  2. Spring Boot 配置宽松绑定 - 简书 (opens new window)
上次更新: 2023/11/13, 12:24:50
Spring经验总结
注解 - @Transactional 事务

← Spring经验总结 注解 - @Transactional 事务→

最近更新
01
iSCSI服务搭建
05-10
02
磁盘管理与文件系统
05-02
03
网络测试 - iperf3
05-02
更多文章>
Theme by Vdoing | Copyright © 2018-2025 NipGeihou | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式