跳至主要內容

配置文件介绍

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

单体版的配置文件存放在lamp-boot-server/src/main/resources目录,系统中用到的配置文件主要为:bootstrap.yml、application.yml、config/${spring.profiles.active}/xxx.yml。

文件区别

bootstrap.yml在application.yml之前加载。bootstrap.yml用于应用程序上下文的引导阶段,由父Spring ApplicationContext加载。

bootstrap.yml:主要用于系统级别的参数配置,这些参数通常不会变动。application.yml:用于定义应用级别的参数,适用于应用程序特有的配置信息。

而config目录下的文件,则是为了解决application.yml文件中配置内容过长不易维护而诞生的。现将application.yml中的应用级别的参数,按照功能和环境进行拆分,变成生如下的目录结构:

├── application.yml      # 应用级参数: 不知道如何拆分的配置,可以放在application.yml或common.yml
├── bootstrap-prod.yml   # 系统级别参数
├── bootstrap.yml        # 系统级别参数
├── config
│   ├── dev							 # 开发环境配置
│   │   ├── common.yml   # 应用级参数: 通用配置(不知道如何拆分的配置,可以放在application.yml或common.yml)
│   │   ├── doc.yml			 # 应用级参数: swagger文档配置	
│   │   ├── mysql.yml		 # 应用级参数: 数据库、mybatis等相关配置
│   │   ├── oss.yml			 # 应用级参数: 文件存储配置
│   │   ├── rabbitmq.yml # 应用级参数: 消息队列配置
│   │   └── redis.yml 	 # 应用级参数: 缓存配置
│   └── prod						 # 生产环境配置
│       ├── common.yml
│       ├── doc.yml
│       ├── mysql.yml
│       ├── oss.yml
│       ├── rabbitmq.yml
│       └── redis.yml

配置文件优先级

java17 分支使用 spring boot 3.1.x: application-${spring.profiles.active}.yml >= ./application.yml >= /config/{spring.profiles.active}/*.yml >= bootstrap-{spring.profiles.active}.yml >= bootstrap.yml

java8 分支使用 spring boot 2.7.x: application-${spring.profiles.active}.yml >= /config/{spring.profiles.active}/*.yml >= ./application.yml >= bootstrap-{spring.profiles.active}.yml >= bootstrap.yml

config中文件的优先级,取决于import顺序

spring:
  config:
    # import的文件顺序越靠后,优先级越大
    import:
      - classpath:config/${spring.profiles.active}/common.yml
      - classpath:config/${spring.profiles.active}/doc.yml
      - classpath:config/${spring.profiles.active}/oss.yml
      - classpath:config/${spring.profiles.active}/rabbitmq.yml
      - classpath:config/${spring.profiles.active}/redis.yml
      - classpath:config/${spring.profiles.active}/mysql.yml

指定开发环境

开发环境启动项目时,需要激活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

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

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