SpringBoot之如何指定配置文件启动
作者:luffylv 发布时间:2023-11-17 15:17:48
一、问题描述
上周不是搭了个SpringBoot整合sharding-jdbc分库分表的架子么,组里老哥不让我把开发环境的配置文件放到resource根目录下。
要放到类似config/local/dev目录下。
如下图:
解决该问题时还是遇到了一些问题的,记录如下。
二、 SpringBoot如何指定配置文件启动
SpringBoot项目可以配置多个配置文件,项目在不同的环境运行时可以指定其对应的配置文件。
现以dev、beta两个环境为例,具体步骤如下:
1、pom.xml中配置
在项目的根pom.xml文件中添加以下配置
<profiles>
<!-- dev环境 -->
<profile>
<id>local-dev</id>
<properties>
<env>dev</env>
</properties>
</profile>
<!-- beta环境 -->
<profile>
<id>local-beta</id>
<properties>
<env>beta</env>
</properties>
</profile>
添加完后可以在右侧Maven Projects->Profiles中看到新加的配置,如下图:
local-nexus是新建项目时就有的。
2、配置配置文件
2.1、配置application.properties
根application.properties配置文件中可以配置所有环境共用的一些配置,其配置如下:
其中spring.profiles.active
是指定使用哪个配置文件,@evn@
是使用maven的变量,即取上一步中配置的<env>
的值。此处不配置服务端口,默认是8080。
2.2、配置beta环境的配置文件
文件名为application-XXX.properties。此处XXX必须为1中配置的beta环境的<env>
的值,否则该配置文件不生效。
application-beta.properties是beta环境的配置文件,配置如下图。
2.3、配置开发环境的配置文件
文件名为application-XXX.properties。此处XXX必须为1中配置的dev环境的<env>
的值,否则该配置文件不生效。
application-dev.properties是dev环境的配置文件,配置如下图。
3、验证
3.1指定beta配置文件启动
若指定beta配置文件启动,则服务端口应该是8082。
选择beta启动。
查看日志,服务确实启用了8082端口,说明使用的是application-beta.properties配置文件。
3.2指定dev配置文件启动
若指定dev配置文件启动,则服务端口应该是8083。
选择dev启动。
查看日志,服务确实启用了8083端口,说明使用的是application-dev.properties配置文件。
三、分析问题
来源:https://blog.csdn.net/m0_47503416/article/details/113144963
猜你喜欢
- 详解Java注解的实现与使用方法Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性。在如今各种框架及开发中非常常见,
- 今天没有继续学习新知识点,画出了一个随鼠标画出的 图形,知识点全都是之前学的,话不多说,先上图:代码部分: // ope
- 摘要:想必大家做开发的时候都会用到下拉刷新的控件,现在各种第三方的下拉刷新控件不胜枚举。当然最NB的还是XListView。其他也有针对Gr
- 大家好,在这篇文章中,我们将学习如何添加动画,同时从一个页面到其他在 Flutter。我们将覆盖不同类型的动画和实现基本动画 Flutter
- 个人理解:把一个类里的多个命令分离出来,每个类里放一个命令,实现解耦合,一个类只对应一个功能,在使用命令时由另一个类来统一管理所有命令。缺点
- 双保险线程,每次启动2个相同的线程,互相检测,避免线程死锁造成影响。两个线程都运行,但只有一个线程执行业务,但都会检测对方的时间戳 如果时间
- ActiveMQ是Apache的一个开源项目,它是一个功能强劲的开源消息总线,也是一个中间件产品,它是JMS的一个实现。在介绍ActiveM
- 前言:什么是多数据源?最常见的单一应用中最多涉及到一个数据库,即是一个数据源(Datasource)。那么顾名思义,多数据源就是在一个单一应
- 面试题1:说一下你对ReentrantLock的理解?ReentrantLock是JDK1.5引入的,它拥有与synchronized相同的
- 顺序语句顺序顾名思义就是程序自上而下执行public class User { public static voi
- 本文实例为大家分享了android自定义环形对比图的具体代码,供大家参考,具体内容如下1.首先在res/values里创建一个attr.xm
- Android5.0之后提供了JobService和JobScheduler,用于在稍后的某个时间点或者当满足某个特定的条件时执行一个任务
- 最近需要对接支付宝的支付接口,官方文档写得内容有点分散,整理了一下发布出来,用作记录,同时也希望对不了解情况的人有所帮助,这里以电脑端的网页
- 最近在开发的过程中,一个列表的查询,涉及到了多表的关联查询,由于持久层使用的是mongodb,对这个非关系型数据使用的不是很多,所以在实现此
- 前言Android提供了很多种保存应用程序数据的方法。其中一种就是用SharedPreferences对象来保存我们私有的键值(key-va
- /// <summary> /// 遍历Co
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- 双向顺序队列ArrayDeque和双向链式队列LinkedList,JDK已经包含,在此略。ArrayDeque包括顺序栈和顺序队列,Lin
- java 实现MD5加密算法的简单实例实现代码:import java.security.NoSuchAlgorithmException;
- 如下所示://读取json文件地址 /* String path = getClass().getClassLoader().g