转:https://blog.csdn.net/daguairen/article/details/79236885
springboot区分开发、测试、生产多环境的应用配置(一)
Spring可使用Profile区分程序在不同环境下执行情况,包含配置、加载Bean、依赖等。
Spring的Profile一般项目包含:dev(开发), stg(测试), prd(生产环境)。由spring.profiles.active属性绝定启用的profile。
SpringBoot的配置文件默认为 application.properties(或yaml,此外仅心properties配置为说明)。不同Profile下的配置文件由application-{profile}.properties管理,同时独立的 Profile配置文件会覆盖默认文件下的属性。
多环境应用配置
将默认不变的配置,设置在application.properties
文件中。
新建开发环境下的属性文件application-dev.properties
,将开发中的配置,设置在该文件中。‘
新建测试环境下的属性文件application-stg.properties
,将测试中的配置,设置在该文件中。
新建生产环境下的属性文件application-prd.properties
,将生产中的配置,设置在该文件中。
最后在application.properties
文件中配置:
## 开发/测试/生产环境分别对应dev/test/prod,可以自由定义
spring.profiles.active=dev
以上设置了应用配置文件使用application-dev.properties
。
示例:开发和生产redis分离例子
----------------- application.properties文件 ----------------------------
## 开发/测试/生产环境分别对应dev/test/prod,可以自由定义
spring.profiles.active=dev
------------ application-dev.properties文件 -------------
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=runoob
------------- application-prd.properties文件 --------------
# Redis服务器地址
spring.redis.host=127.168.123.112
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
------------- redis.properties文件 ------------------------
############## redis start #################
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=@spring.redis.host@
# Redis服务器连接端口
spring.redis.port=@spring.redis.port@
# Redis服务器连接密码(默认为空)
spring.redis.password=@spring.redis.password@
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=1000
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=200
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=50
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=10
# 连接超时时间(毫秒)
spring.redis.timeout=0
################ redis end ##################