授人以鱼不如授人以渔。大家好,我是Java课代表。今天跟大家分享一下SpringBoot基于profile的一些配置。
想要获取更多Java信息,请关注公众号:Java课代表。
开发过程中,我们一般会有若干个不同的环境,如:开发环境,生产环境。一般情况下,不同环境下的程序配置是不同的。如果每次切换环境都去修改配置文件,一是比较麻烦,二是容易出错。
例如:开发阶段,我们可以采用嵌入式的H2数据库,但生产环境中使用mysql。
SpringBoot采用YAML(/?j?m?l/)文件来管理配置,其优点是简洁明了,可读性好。
实现多配置有两种方式:
在一个yml文件中,通过 ---
分隔多个不同配置,根据spring.profiles.active
的值来决定启用哪个配置,例如:
#公共配置
spring:
profiles:
active: pro #使用名为pro的配置,这里可以切换成dev
datasource:
url: jdbc:mysql://localhost:3306/test_db?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
password: 123456
username: root
---
#开发环境配置
spring:
profiles: dev #profiles属性代表配置的名称
server:
port: 8080
---
#生产环境配置
spring:
profiles: pro
server:
port: 80
将配置编写在多个yml文件中,根据spring.profiles.active
的值来决定启用哪个配置。
配置文件规则如下:
例如:
application.yml
#公共配置
spring:
profiles:
active: pro #使用名为pro的配置,这里可以切换成dev
datasource:
url: jdbc:mysql://localhost:3306/test_db?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
password: 123456
username: root
application-dev.yml
server:
port: 8080
application-pro.yml
server:
port: 80
有了YAML文件的配置,不同环境的不同配置终于不用改来改去了,但提交代码时还是要注意指定spring.profiles.active
的值,否则还有提错配置的风险,有没有一劳永逸的办法呢?
我们在启动应用时通过环境变量的方式指定使用哪个配置,具体如下:
java -jar xxx.jar --spring.profiles.active=pro
通过这样的配置,我们就可以指定,在开发环境使用dev配置,在生产环境使用pro配置,从而一次解决提错配置文件的问题,而且还很优雅!
【推荐阅读】
RabbitMQ教程
Freemarker 教程(一)-模板开发手册
下载的附件名总乱码?你该去读一下 RFC 文档了!
深入浅出 MySQL 优先队列(你一定会踩到的order by limit 问题)
码字不易,欢迎点赞关注和分享。
搜索:【Java课代表】,关注公众号,每日一更,及时获取更多Java干货。
mixin方法: 浏览器无法编译: 以前旧版sass是支持上面写法,现在新版后不支持,...
内容概要:P 站官方推出的新番,选择了老电影修复主题,不仅将自己的专长巧妙地...
前言 在上一篇中我们把图通过邻接表数组表示出来了,这个数据结构将会做我们实现...
当一收到上传图片视频并可以动态设置视频显示的海报帧的需求时,主要想的是怎么...
最近在做我的足球导航网站的时候遇到一个网页内部锚点跳转后向下偏移一点,以避...
byzhangxinxu from https://www.zhangxinxu.com/wordpress/?p=9404 本文欢迎分享...
背景 解决浏览器的兼容性问题是一件很烦的事情,其中并没有太多高深的技巧,但是...
1. Use .gifs rather than .jpgs. GIFs are smaller in size when compared to J...
我们在使用Dreamweaver的时候,底部的属性栏对我们设置网页的样式,有着很大的帮...
文字链接是网页中最常见的页面元素,在默认状态下,文字链接样式都是带下划线的...