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