SpringBoot之如何指定配置文件启动

作者:luffylv 时间:2023-11-17 15:17:48 

一、问题描述

上周不是搭了个SpringBoot整合sharding-jdbc分库分表的架子么,组里老哥不让我把开发环境的配置文件放到resource根目录下。

要放到类似config/local/dev目录下。

如下图:

SpringBoot之如何指定配置文件启动

解决该问题时还是遇到了一些问题的,记录如下。

二、 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中看到新加的配置,如下图:

SpringBoot之如何指定配置文件启动

local-nexus是新建项目时就有的。

2、配置配置文件

2.1、配置application.properties

根application.properties配置文件中可以配置所有环境共用的一些配置,其配置如下:

SpringBoot之如何指定配置文件启动

其中spring.profiles.active是指定使用哪个配置文件,@evn@是使用maven的变量,即取上一步中配置的<env>的值。此处不配置服务端口,默认是8080。

2.2、配置beta环境的配置文件

文件名为application-XXX.properties。此处XXX必须为1中配置的beta环境的<env>的值,否则该配置文件不生效。

application-beta.properties是beta环境的配置文件,配置如下图。

SpringBoot之如何指定配置文件启动

2.3、配置开发环境的配置文件

文件名为application-XXX.properties。此处XXX必须为1中配置的dev环境的<env>的值,否则该配置文件不生效。

application-dev.properties是dev环境的配置文件,配置如下图。

SpringBoot之如何指定配置文件启动

3、验证

3.1指定beta配置文件启动

若指定beta配置文件启动,则服务端口应该是8082。

选择beta启动。

SpringBoot之如何指定配置文件启动

查看日志,服务确实启用了8082端口,说明使用的是application-beta.properties配置文件。

SpringBoot之如何指定配置文件启动

3.2指定dev配置文件启动

若指定dev配置文件启动,则服务端口应该是8083。

选择dev启动。

SpringBoot之如何指定配置文件启动

查看日志,服务确实启用了8083端口,说明使用的是application-dev.properties配置文件。

SpringBoot之如何指定配置文件启动

三、分析问题

来源:https://blog.csdn.net/m0_47503416/article/details/113144963

标签:SpringBoot,配置文件,启动
0
投稿

猜你喜欢

  • Java版的7种单例模式写法示例

    2023-08-13 04:24:57
  • springboot中使用rabbitt的详细方法

    2023-06-17 09:57:43
  • 如何使用Java redis实现发送手机验证码功能

    2023-11-26 17:25:00
  • Spring如何利用@Value注解读取yml中的map配置

    2023-07-24 21:18:00
  • Java使用openssl检测网站是否支持ocsp

    2022-10-03 15:55:55
  • Android中GPS定位的用法实例

    2021-07-26 23:26:29
  • android中Fragment+RadioButton实现底部导航栏

    2022-11-22 00:52:20
  • C#命令模式(Command Pattern)实例教程

    2023-06-13 00:15:48
  • Android实现下拉展示条目效果

    2021-09-29 21:00:42
  • Android Studio用genymotion运行后小图标无法显示问题

    2021-08-17 03:00:22
  • java实现时间与字符串之间转换

    2022-07-06 07:17:31
  • 详解利用Spring加载Properties配置文件

    2023-04-04 20:53:13
  • 在Maven下代理服务器设定的方式

    2023-10-15 02:17:13
  • Java Web开发环境配置详解

    2023-03-05 03:32:37
  • Android实现二级列表购物车功能

    2022-08-28 09:26:28
  • SpringBoot 二维码生成base64并上传OSS的实现示例

    2023-05-12 04:41:33
  • JavaWeb ServletConfig作用及原理分析讲解

    2021-11-09 05:50:54
  • IDEA搭建SpringBoot离线工程的方法

    2023-04-11 05:50:42
  • C#实现让ListBox适应最大Item宽度的方法

    2022-06-30 16:41:26
  • 基于FLink实现实时安全检测的示例代码

    2022-05-06 11:03:11
  • asp之家 软件编程 m.aspxhome.com