springboot 多个配置文件的切换使用

传统使用方法(特别是springboot2.4版本之前)

步骤1:自定义配置文件application-[anything].properties
            比如:
                 新建调试环境配置文件:application-dev.properties
                 新建生产环境配置文件:application-prod.properties

步骤2:在application.properties里面切换
            比如切换到生产环境:spring.profiles.active=prod

springboot2.4版本之后,多环境配置在一个文件application.yml(貌似用application.properties不行)中的使用方法:

步骤1. 使用---来分割不同环境的配置,比如:

---
spring:
  config:
    activate:
      on-profile: dev
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/database-name?useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai
    username: user_Zhang
    password: user_Zhang's password
    tomcat:
      max-active: 50
  # Show each sql query
  jpa:
    show-sql: true
---
spring:
  config:
    activate:
      on-profile: prod
  datasource:
    url: jdbc:mysql://生产环境的数据库服务器ip:3306/databasae-name?useUnicode=true&characterEncoding=UTF-8&useSSL=true&serverTimezone=Asia/Shanghai
    username: root
    password: root_secret

步骤2.打开idea启动配置对话框,Active Profiles:填入要当前要激活的配置,比如激活开发环境的配置参数,填入dev,点击apply即可。

如果是java -jar命令启动的话,在jar包名后空格加上 --spring.profiles.active,例如:

java -Xms512m -Xmx1g my.jar --spring.profiles.active=prod

我参考了如下文章:

24. Externalized Configuration

Uploading Chinese configuration in IntelliJ idea configuration application.properties to MySQL database is garbled

Properties files | IntelliJ IDEA

Spring Boot - Application Properties

https://www.baeldung.com/spring-profiles

Spring Boot Config Data Migration Guide · spring-projects/spring-boot Wiki · GitHub

Config file processing in Spring Boot 2.4

What is diff between spring.profiles.active vs spring.config.activate.on-profile? - Stack Overflow

猜你喜欢

转载自blog.csdn.net/miaowansheng/article/details/127133921