Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【SpringBoot专题】多环境配置及swagger前言多环境配置分析swagger

【SpringBoot专题】多环境配置及swagger前言多环境配置分析swagger

作者头像
用户2890438
发布于 2018-08-21 01:56:46
发布于 2018-08-21 01:56:46
1K0
举报

前言

在上一篇博客《【SpringBoot专题】快速体验 》中已经带领大家初步了解了SpringBoot,本篇博客将为大家介绍多环境配置、swagger等相关内容。

多环境配置分析

在实际开发中,我们可能会涉及到一些环境,比如local(本地开发环境),dev(部署到远程的开发环境),test(预发布环境),product(生产环境)。显然,不同的环境下,对应不同的配置信息,比如db/redis/mq等,甚至不同的环境下,程序需要做不同的处理。那么springboot项目是如何支持多环境配置的呢?

首先来说,springboot就是一个可执行程序,通过java -jar的方式启动的,那么我们需要在启动的时候,告诉springboot当前的profile(环境)是什么,即: java -jar xxx.jar --spring.profiles.active=test 通过这个--spring.profiles.active=test就是在告诉springboot,我们设置的profile是test。

实际开发中常用的多环境配置方式

多环境配置

如果你设置了--spring.profiles.active=test,那么springboot会支持加载application-test.properties文件。如果我们通过分目录来存放不同环境的配置文件呢,那么这个时候,需要我们先获取profile。

获取当前profile的方式

从入口类获取profile

java -jar xxx.jar --spring.profiles.active=test 说白了,字符串“--spring.profiles.active=test”会传递到入口类的main方法的String[] args中!

CommandUtils

how to get profile from args

我们从args进行遍历处理,如果找到profile,那么通过System.setProperty进行系统key/value的设置(这里的key为"profile"),这是为了保存profile,方便以后拿到。 注意到,如果不给profile,那么自动设置为dev。

看一下CommandUtils中具体的解析profile方法

parseSpringProfile

定义的Env枚举类型

到这里,我们就可以根据profile来加载该profile下的配置文件了,比如:

引用系统设置的profile变量

在上文中,我们已经System.setProperty进行设置,将当前环境信息设置到profile变量中,因此我们直接进行${profile}引用了。

我们来看看application.properties文件内容:

根据不同的profile设置不同的启动端口

假设我们想以test环境部署应用:

profile=test

port=7072

验证:

是否可以取得profile,是否可以加载特定目录下的属性文件

不同环境目录下的配置文件

结果:

获取profile验证

得到了test环境下的mongo配置

好了,到这里,多环境的配置就给大家介绍完毕了~

swagger

Swagger,英文翻译过来,就是有点拽,酷的意思,名符其实! Swagger同springboot集成很简单,是一个很强大的api框架,不仅提供了在线文档的查阅(好似java doc),还提供了在线的http测试(好似postman等),简单帅气~

如何集成呢?

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.08.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vue前端怎么导出图片_VUE中将页面导出为图片或者PDF
1.将页面html转换成图片 npm install html2canvas –save
全栈程序员站长
2022/09/01
2.8K0
html2canvas - 项目中遇到的那些坑点汇总
因为css里的只是展示画布显示的大小,不像这样是canvas真正的内里图画分辨率的大小。
xing.org1^
2020/06/29
4.7K0
带你领略 html2canvas
如果你希望排除某些元素被渲染,你可以添加data-html2canvas-ignore属性到这些元素,html2canvas将从渲染中排除它们。
公众号---人生代码
2020/11/19
1.8K0
带你领略 html2canvas
# 浏览器截图方案分析
html2canvasopen in new window 用的比较广泛的前端截图方案,先将 DOM 一个个 转为 Canvas 然后导出图片(使用 canvas 自带的 toDataUrl、toBobl)即可。使用起来应该是兼容性比较好的方案了,能解决大部分的需求,但是也有一写小问题,如:
九旬
2023/10/19
5210
Web动态图片合成与分享——html2canvas方案实践
在web侧运营活动中,分享传播是重要的一环。普通的h5链接/结构化消息分享已经不能满足产品越来越大的脑洞。在很多场景下,我们需要将个性化内容(如帐号信息,头像,用户输入等)固化为一张完整的图片,一秒分享到朋友圈&AIO&群,藉此提高传播效率。
WendyGrandOrder
2018/10/19
8.5K2
Web动态图片合成与分享——html2canvas方案实践
【前端探索】移动端H5生成截图海报的探索
移动端H5生成图片海报分享,是比较常见的交互方式。生成的海报中,往往会有用户的个性化信息,比如头像、昵称等等。
luciozhang
2023/04/22
8080
vue中使用html2canvas及解决html2canvas截屏图片模糊问题
html2canvas  官方网站http://html2canvas.hertzen.com/index.html
lin_zone
2018/08/15
7.9K0
get两个js小技能——JS截取视频第一帧&图片转Base64
背景 由于开发之前做的VisualDrag拖拽模板优化的时候,拖拽进去的图片、视频文件等需要进行截图作为封面,目前采用的截图方法是htme2canvas,使用canvas进行的截图操作,所以就会遇到这样的问题,视频和图片图床简单的使用标签加入canvas画布里面无法正确的截图成功。最后采取的措施就是将图片转为base64画入canvas,将视频截取第一帧图片,然后画进canvas,最后进行截图,最后经过折腾,这个方法好像成功了,写这篇博客进行记录下。 JS截取视频第一帧 截取视频的第一帧作为视频的封面
不愿意做鱼的小鲸鱼
2023/03/23
7.1K0
get两个js小技能——JS截取视频第一帧&图片转Base64
浅谈两种前端截图方式:Canvas截图 vs SVG截图
如今很多网站都引入截图功能,可用于问题反馈、内容分享等实用需求,而前端截图也不知不觉成为了首选。今天为大家推荐两种前端截图方式,虽然有些局限,但是也能应付大部分项目需求。
JowayYoung
2020/04/01
14.2K2
html2canvas - 解决办法之图片跨域导致的截图空白
1. 后端支持:图片要是cdn上的地址,并且允许图片跨域,header头中设置应为   Access-Control-Allow-Origin:  * 2. 前端配置 1 var opts = { 2 scale: scale, // 添加的scale 参数 3 canvas: canvas, //自定义 canvas 4 logging: false, //日志开关,便于查看html2canvas的内部执行流程 5 w
xing.org1^
2018/05/17
2.9K0
使用 html2canvas 生成分享图片,CDN图片不展示问题
生成分享图片,包含后端返回的图文,图片是 cdn 资源。开始尝试使用 html2canvas 时,使用的是本地图片,生成截图无问题。
用户10106350
2022/10/28
2.1K0
Vue 一键导出 PDF
生成 PDF 基本思路大多一致,先用 html2canvas 将 DOM 元素转换为 canvas,再利用 canvas 的 toDataURL 方法输出为图片,最后使用 jsPDF 添加图片生成 PDF 实现一键下载。
数媒派
2022/12/01
1.9K0
uniapp页面截长图,并非手机自带截图
手机截图只能获取当前页面可视区域的内容,如果我想将整个页面包括溢出屏幕的保存为图片。
英曼畅学
2023/04/18
2.5K0
Vue 结合html2canvas和jsPDF实现html页面转pdf
E:\MyProjects\TMP\frontend>npm install html2canvas
授客
2020/04/30
5K0
Vue 结合html2canvas和jsPDF实现html页面转pdf
【Web技术】929- 前端海报生成的不同方案和优劣
首页测试demo:https://html2canvas.hertzen.com/
pingan8787
2021/04/26
1.6K0
【Web技术】929- 前端海报生成的不同方案和优劣
前端生成pdf,jspdf+html2Canvas的使用(vue)
2、安装html2Canvas: npm install --save html2canvas
前端小tips
2021/11/27
7.9K0
前端生成pdf,jspdf+html2Canvas的使用(vue)
微信刷屏的「给我一面国旗」如果要做到,技术原理是什么?
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
养码场
2019/09/26
7560
微信刷屏的「给我一面国旗」如果要做到,技术原理是什么?
【架构师(第五十二篇)】 几个前端工具的基本使用
设备像素也被称为物理像素,是显示设备中一个最微小的物理部件,在同一设备中,物理像素的总数是固定的。
一尾流莺
2022/12/10
4170
为博客页面添加海报分享功能
以前浏览别的博主网站的时候总会在文章页末看到或多或少一些分享功能,比较常见的都是些社交平台的按钮,当时想的是功能虽好可有多少人会去用啊?心想嘛就是个摆设还不如不要占位置233
2Broear
2024/03/12
2130
【Web技术】1528- 来自大厂前端页面截图方案
将网页保存为图片(以下简称为快照),是用户记录和分享页面信息的有效手段,在各种兴趣测试和营销推广等形式的活动页面中尤为常见。
pingan8787
2023/02/13
3.2K0
【Web技术】1528- 来自大厂前端页面截图方案
推荐阅读
相关推荐
vue前端怎么导出图片_VUE中将页面导出为图片或者PDF
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档