跳至主要內容

配置文件介绍

2023年3月31日大约 2 分钟快速启动快速启动配置文件介绍

单体版的配置文件存放在lamp-boot-server/src/main/resources目录,application.yml中的配置大概内容如下:

spring:
  profiles:
    group:
      # 覆盖顺序和这里的顺序无关,跟 --- 分割的顺序有关
      "dev": "dev,common,mysql,rabbitmq,redis"
      "prod": "prod,common,mysql,rabbitmq,redis"

---
# 相当于 common.yml
xxx: common        # 仅用于测试的参数

spring:
  config:
    activate:
      on-profile: common      # 配置名

---
# 相当于 redis.yml
xxx: redis

spring:
  config:
    activate:
      on-profile: redis

---
# 相当于 rabbitmq.yml
xxx: rabbitmq

spring:
  config:
    activate:
      on-profile: rabbitmq

---
# 相当于 database.yml
xxx: mysql

spring:
  config:
    activate:
      on-profile: mysql

---
# 相当于 lamp-boot-server-dev.yml
xxx: dev

spring:
  config:
    activate:
      on-profile: dev      

---
# 相当于 lamp-boot-server-prod.yml
xxx: prod

spring:
  config:
    activate:
      on-profile: prod    

开发环境启动项目时,需要激活spring.profiles.group=dev配置,则需要使用以下命令来启动:

java -jar -Dspring.profiles.active=dev lamp-boot-server.jar 

启动后,可以在日志中看到如下日志:

[top.tangyh.lamp.BaseServerApplication.logStartupProfileInfo:674] The following profiles are active: dev,common,mysql,rabbitmq,redis

原因是-Dspring.profiles.active=dev 参数激活了application.yml文件中spring.profiles.group.devspring.profiles.group.dev 配置了 dev,common,mysql,rabbitmq,redis这几个profile,springboot 会在配置文件中寻找 spring.config.activate.on-profile分别等于dev、common、mysql、rabbitmq、redis的配置进行合并,并将这几个配置文件中的配置按照在application.yml中编写的顺序进行覆盖,写在文件下方的属性会覆盖文件上方的属性。

提示

application.yml中配置的覆盖顺序跟 dev,common,mysql,rabbitmq,redis 的属性顺序无关,而是跟在application.yml中编写的位置有关!!!

开发环境启动项目时,上方application.yml配置文件中:xxx = dev。

# 开发环境启动
java -jar -Dspring.profiles.active=dev lamp-boot-server.jar 

生产环境启动项目时,上方application.yml配置文件中:xxx = prod。

# 生产环境启动
java -jar -Dspring.profiles.active=prod lamp-boot-server.jar 
👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。
4.16.0-java17已发布: