传统使用方法(特别是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
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