前言:
我们在使用springboot项目开发的时候,可能会遇到这样一种情况,每次切换环境跑项目的时候,都得修改配置文件的数据库地址,这样来回修改感觉很麻烦,所以今天就分享下如何设置多个配置文件,并且用idea启动时指定配置文件。
正文:
有两种配置方式,第一种就是配置多个yml文件,第二种就是在一个yml里配置写多个配置
一、配置多种环境的yml文件
其实各个环境的配置,大部分相同,主要是数据库和一些中间件访问的ip和端口有变化。
开发环境:application-dev.yml
# 配置端口
server:
port: 8989
spring:
# 配置数据源
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
测试环境:application-test.yml
# 配置端口
server:
port: 8989
spring:
# 配置数据源
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.124.193:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
生产环境:application-pro.yml
# 配置端口
server:
port: 8989
spring:
# 配置数据源
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.124.193:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
二、一个yml文件写多个环境的配置
在一个yml文件中,可用连续三个连字号(---)区分多个文件,所以一个application.yml文件也可以完成环境切换了。
spring:
profiles:
active: dev
---
# 配置端口
server:
port: 8989
spring:
profiles: dev
# 配置数据源
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
---
# 配置端口
server:
port: 8989
spring:
profiles: test
# 配置数据源
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
---
# 配置端口
server:
port: 8989
spring:
profiles: pro
# 配置数据源
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/bendi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
二、idea指定某种环境下的配置文件启动项目
1.多个配置文件,启动项目的时候,需要修改右上角的配置信息,按下图操作
--spring.profiles.active=test
在启动日志里看到下图所示的日志,便代表指定配置文件启动成功。
2.单个配置文件启动项目的时候,只需要在active后面指定 dev或者test即可
在启动日志里看到下图所示的日志,便代表指定配置文件启动成功。
总结:
天气逐渐变热,大家注意好防晒,要不年龄大了很容易出现老年斑,晒伤是不可逆的。今天的文章风格仍然是简确用(简单确实有用)风格。
我是阿达,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有7574位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!