Loading [MathJax]/jax/input/TeX/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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringBoot实现多环境配置
1.为什么需要配置多环境配置 在实际的开发中,我们往往需要在不同的环境中使用不同的数据库、缓存配置,如果使用同一套配置文件,在不同环境部署的时候手动去修改配置文件,会使部署变得很繁琐。使用多环境配置文件可以很方便的实现此功能。 1.创建不同环境的配置文件 在resource文件夹中添加一下配置文件: application-dev.properties //开发环境配置文件 application-rc.properties //线上环境配置文件 application-test.properties //
代码改变世界-coding
2018/07/03
1.1K0
springboot(12)-profile多环境配置
在我们日常开发工作中,经常会遇到应用程序在不同的环境可能会有不同的配置,比如数据库连接、日志级别等,日常开发、测试和生产环境可能每个环境的配置都不一致。
叔牙
2020/11/19
1.3K0
springboot(12)-profile多环境配置
第十二节:Springboot多环境配置
系列文章 第一节:创建SpringBoot项目并运行HelloWorld 第二节:SpingBoot单元测试 第三节:SpringBoot中web项目推荐目录结构 第四节:SpringBoot中web模版数据渲染展示 第五节:SpringBoot常用注解介绍 第六节:SpingBoot基本配置一 第七节:SpringBoot高级属性配置二 第八节:SpringBoot指定配置文件配置三 第九节:SpringBoot在线文档Swagger2入门 第十节:SpringBoot中的日志管理 第十一节:Spring
入门笔记
2022/06/02
3310
「快学springboot」SpringBoot多环境配置文件
我们都知道springboot的配置卸载application.properties配置文件上(或者application.yml)。但是,如果想要把不同的环境(如开发环境,测试环境,生产环境)的配置文件分离,这要怎么做呢?其实,SpringBoot是支持指定不同的配置文件的。
Happyjava
2019/07/16
9100
「快学springboot」SpringBoot多环境配置文件
第十二节:Springboot多环境配置
开发的阶段会需要设定基本的属性或是自定义的属性,而且通常会被应用和安装到几个不同的环境上,比如:开发(dev)、测试(test)、生产(prod)等,其中对应的每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误。 通常有下面两种配置方式 1.maven的多环境配置 在没有使用过Spring Boot的多环境配置时,是用maven的profile功能进行多环境配置。 maven配置pom.xml <profiles>
入门笔记
2022/02/16
2140
第十二节:Springboot多环境配置
实战!3分钟搞定Spring Boot 多环境配置
在实际项目开发的过程中,需要面对不同的运行环境,比如开发环境、测试环境、生产环境等,每个运行环境的数据库、Redis服务器等配置都不相同,每次发布测试、更新生产都需要手动修改相关系统配置。这种方式特别麻烦,费时费力,而且出错的概率极大。庆幸的是,Spring Boot为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面就来演示Spring Boot系统如何实现多环境配置。
章为忠学架构
2023/03/23
3.3K0
实战!3分钟搞定Spring Boot 多环境配置
「快学springboot」SpringBoot多环境配置文件
我们都知道springboot的配置卸载application.properties配置文件上(或者application.yml)。但是,如果想要把不同的环境(如开发环境,测试环境,生产环境)的配置文件分离,这要怎么做呢?其实,SpringBoot是支持指定不同的配置文件的。
Happyjava
2024/02/01
3080
「快学springboot」SpringBoot多环境配置文件
嗯,挺全乎儿的,Spring Boot 多环境配置都在这里了,你喜欢哪种?
日常开发中至少有三个环境,分别是开发环境(dev),测试环境(test),生产环境(prod)。
huofo
2022/03/16
1.9K0
嗯,挺全乎儿的,Spring Boot 多环境配置都在这里了,你喜欢哪种?
【SpringBoot系列】配置多环境配置文件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhiqiang0316/article/details/81541115
林老师带你学编程
2019/05/25
7600
springBoot 入门(二)—— 使用 spring.profiles.active来区分配置
很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置。
MickyInvQ
2020/09/27
14.9K0
springBoot 入门(二)—— 使用 spring.profiles.active来区分配置
Spring Boot---(2)SpringBoot多环境配置和使用
我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。所以,我们可以写多个文件,每个文件有不同的环境,当我们需要切换时,去选择对应环境的配置文件就可以了。
IT云清
2019/01/22
6350
SpringBoot Profile 多环境配置
多配置文件配置(properties): 格式: applicatino-{profile}.properties
前端小鑫同学
2022/12/24
2720
【Spring Boot】006-多环境配置及配置文件位置
我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml , 用来指定多个环境版本;
訾博ZiBo
2025/01/06
1580
【Spring Boot】006-多环境配置及配置文件位置
8-SpringBoot配置-profile
我们在开发Spring Boot 应用时,通常同一套程序会被安装到不同环境,例如:开发、测试、生产等。其中数据库地址、服务器端口等等配置都不同,如果每次打包时,都要修改配置文件,那么非常麻烦。profile 功能就是来进行动态配置切换的。
Devops海洋的渔夫
2022/03/23
1.4K0
8-SpringBoot配置-profile
【SpringBoot】多环境开发、分组管理、开发控制
.29.
2023/10/17
6180
【SpringBoot】多环境开发、分组管理、开发控制
Spring Boot属性配置文件详解
相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在 pom.xml中引入模块化的 StarterPOMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在 application.properties中完成一些属性配置就能开启各模块的应用。 在之前的各篇文章中都有提及关于 application.proper
程序猿DD
2018/02/01
1.1K0
SpringBoot系列之profles配置多环境(篇二)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
SmileNicky
2019/11/12
4550
SpringBoot 文件优先级与多环境
我们在配置多个环境的配置文件时,文件名可以是 application-.properties/yml
LCyee
2020/08/05
1K0
Spring Boot 配置文件中的花样,看这一篇足矣!
在快速入门一节中,我们轻松的实现了一个简单的RESTful API应用,体验了一下Spring Boot给我们带来的诸多优点,我们用非常少的代码量就成功的实现了一个Web应用,这是传统的Spring应用无法办到的,虽然我们在实现Controller时用到的代码是一样的,但是在配置方面,相信大家也注意到了,在上面的例子中,除了Maven的配置之后,就没有引入任何的配置。
程序猿DD
2019/07/08
9260
SpringBoot profles配置多环境
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014427391/article/details/89792248
SmileNicky
2019/05/14
9960
SpringBoot profles配置多环境
推荐阅读
相关推荐
SpringBoot实现多环境配置
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档