springboot区分开发、测试、生产多环境的应用配置

转: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 ##################



原文地址:https://www.cnblogs.com/wenhuang/p/9777807.html