SpringBoot配置Profile实现多环境支持
作者:熊熊爱绵羊 时间:2023-07-29 21:53:20
前些天,有一个需求要用SpringBoot的多环境,当时没有系统学习springboot ,所以在网上找来找去的找到了一个解决方案,并写了一篇文章用来记录---(springBoot项目如何启动多个实例),但是那篇文章介绍的并不全面.刚好今天学习了springboot的多环境配置,于是趁着刚学习完,拿这篇全面的讲解多环境配置,同时也用来复习巩固。
Profile
1.多Profile文件
我们在主配置文件编写的时候,文件名可以是 application-{profile}.yml或者application-{profile}.properties ,都行,以下用yml为主。以下主配置文件表示 application.yml
eg.
编写一个名为 application-dev.yml文件:
server:
port: 8081
编写一个名为application-prod.yml文件:
server:
port: 8082
先启动springboot项目,发现启动的端口为 81(application.yml中指定的端口为 81) ,也就是说默认启动的是application.yml的环境。
2. yml支持多文档块方式
配置文件中也支持使用多文档块的方式创建多环境,是用 --- (三个-)表示一个文档块 ,如果不指定启动别的文档块,默认启动第一个文档块,可以通过 spring.profiles.actice=dev 来指定启动别的文档块。使用图解说明如下:
3. 激活指定的profile
1.在配置文件(application.yml)
中指定spring.profiles.actice: dev(在sts中yml文件中会自动提示,并自动缩进)。
2. 使用命令行的方式激活:如下所示:
1)可以在编辑器idea,eclipse的run configurations中指定参数
--spring.profiles.active=dev
2)将项目打成jar包 ,然后启动dos命令行的方式:
3)使用虚拟机参数方式:
-Dspring.profiles.active=dev 注意:-D是固定写法
上面就是springboot配置多环境并启动的几种方式,较之前写的更加详细。我使用的ide是IDEA ,eclipse和sts配置参数也在run configurations中,希望能够帮到你。
以上仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://blog.csdn.net/m0_37564404/article/details/81948506
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
SpringBoot中使用多线程的方法示例
![](https://img.aspxhome.com/file/2023/0/71690_0s.png)
Java 异步实现的几种方式小结
![](https://img.aspxhome.com/file/2023/9/71679_0s.png)
SpringBoot项目Jar包如何瘦身部署的实现
![](https://img.aspxhome.com/file/2023/5/91125_0s.png)
使用C#开发OPC Server服务器源码解析
![](https://img.aspxhome.com/file/2023/4/91384_0s.png)
两天没解决的问题chatgpt用了5秒搞定隐藏bug
![](https://img.aspxhome.com/file/2023/5/59245_0s.jpg)
浅谈@RequestMapping注解的注意点
Android编程实现AIDL(跨进程通信)的方法详解
![](https://img.aspxhome.com/file/2023/0/130320_0s.jpg)
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
![](https://img.aspxhome.com/file/2023/2/85542_0s.jpg)
详解IDEA中SpringBoot整合Servlet三大组件的过程
Java 实战项目之精品养老院管理系统的实现流程
![](https://img.aspxhome.com/file/2023/7/125247_0s.jpg)
Unity实现简单虚拟摇杆
![](https://img.aspxhome.com/file/2023/5/84425_0s.jpg)
Android通过应用程序创建快捷方式的方法
![](https://img.aspxhome.com/file/2023/0/98630_0s.png)
Android实现下拉菜单Spinner效果
![](https://img.aspxhome.com/file/2023/8/88088_0s.png)
Android中ProgressDialog的dismiss()与cancel()方法的区别
快速了解c# 常量
Android应用中绘制圆形头像的方法解析
![](https://img.aspxhome.com/file/2023/8/97848_0s.png)
SpringDataJPA在Entity中常用的注解介绍
深入学习C#网络编程之HTTP应用编程(下)
![](https://img.aspxhome.com/file/2023/1/70411_0s.png)