springboot默认的配置文件是application.properties 和application.yml
对于上述两种默认的配置文件,springboot都有相应的多环境配置方式
- 对于application.properties文件来说
- 主要通过application-{profiles}.properties配置文件的方式进行配置环境
开发环境下的配置文件 application-dev.properties
server.port=8082
##配置person的值
person.lastName=王五${random.uuid}
person.age=${random.int(10)}
person.birth=2017/12/18
person.boss=true
person.maps.ahoj=sophia
person.maps.alice=sasasasa
person.lists=a,b,c
person.dog.name=${person.hello:hello}_dog
person.dog.age=2
生产环境下的配置文件application-prod.properties
server.port=8083
##配置person的值
person.lastName=赵六${random.uuid}
person.age=${random.int(10)}
person.birth=2017/12/18
person.boss=true
person.maps.ahoj=sophia
person.maps.alice=sasasasa
person.lists=a,b,c
person.dog.name=${person.hello:hello}_dog
person.dog.age=2
我们的生产和开发情况下用到的配置文件不一样,我们可以写两套配置文件,一套用于开发,一套用于生产,那么我们如何指定相应的配置文件吗
我们需要在application.properties中指定
server.port=8080
##激活dev的配置文件 默认读取application-后面的字符串
spring.profiles.active=dev # 这样就指定使用开发环境下的配置文件了
- 以命令行的方式指定环境
该种方式的优先级对于使用本地tomcat的情况下来说是最高的。
-但是我们开发springboot的时候往往不是使用本地的tomcat 而是使用的是springboot的嵌入式tomcat,我们往往会将项目打包成jar包的方式,那么该种方式我们可以通过cmd来运行项目
java -jar spring_boot_day01_config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
- yml方式配置多环境 通过
---
的方式将不同的环境分割开
server:
port: 8081
servlet:
context-path: /boot2
spring:
profiles:
active: dev
---
# 生产环境1
server:
port: 8082
spring:
profiles: dev
---
生产环境2
server:
port: 8083
spring:
profiles: prod
person:
lastName: 张三
age: 18
boss: true
birth: 2017/12/12
maps: {k1: v1,k2: v2}
lists:
- cat
- dog
- pig
dog:
name: sophia
age: 2