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