SpringBoot中的Profile多环境配置方法

为了更好地适应不同的开发、测试、生产等不同环境,SpringBoot 提供了 Profile 多环境配置方法,可以方便地根据不同的环境变量来配置应用程序各项参数。下面是完整攻略。

1. 创建不同环境的配置文件

src/main/resources 目录下创建三个配置文件,分别是 application-dev.ymlapplication-test.ymlapplication-prod.yml,分别对应开发、测试、生产环境。

# application-dev.yml
server:
  port: 8080

logging:
  level:
    org.springframework.web: DEBUG
# application-test.yml
server:
  port: 8081

logging:
  level:
    org.springframework.web: INFO
# application-prod.yml
server:
  port: 8082

logging:
  level:
    org.springframework.web: WARN

2. 设置默认配置文件

application.yml 或者 application.properties 中设置默认配置文件为 application-dev.yml

spring:
  profiles:
    active: dev

3. 切换环境

在启动命令中添加参数 --spring.profiles.active=dev 或者 -Dspring.profiles.active=dev,可以切换到不同的环境。

4. 示例

假设有一个简单的 SpringBoot Web 应用程序,提供 /hello 接口,返回一个字符串。每个环境的字符串都不一样,开发环境返回 Hello dev!,测试环境返回 Hello test!,生产环境返回 Hello prod!

@RestController
public class HelloController {
    @Value("${hello}")
    private String hello;

    @GetMapping("/hello")
    public String hello() {
        return hello;
    }
}

src/main/resources/application.yml 中添加默认配置:

spring:
  profiles:
    active: dev

hello: Hello dev!

src/main/resources/application-dev.yml 中添加开发环境配置:

hello: Hello dev!

src/main/resources/application-test.yml 中添加测试环境配置:

hello: Hello test!

src/main/resources/application-prod.yml 中添加生产环境配置:

hello: Hello prod!

启动命令中添加参数 --spring.profiles.active=dev,访问 http://localhost:8080/hello 获取返回值为 Hello dev! 的字符串。

启动命令中添加参数 --spring.profiles.active=test,访问 http://localhost:8081/hello 获取返回值为 Hello test! 的字符串。

启动命令中添加参数 --spring.profiles.active=prod,访问 http://localhost:8082/hello 获取返回值为 Hello prod! 的字符串。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot中的Profile多环境配置方法 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • php中强制下载文件的代码(解决了IE下中文文件名乱码问题)

    完整攻略: 当PHP脚本对文件的类型以及名字进行了设置后,在IE中下载时可能会出现文件名乱码的问题。解决该问题的方法是为下载文件设置正确的HTTP头信息。以下是PHP中强制下载文件的代码并解决IE下中文文件名乱码问题的完整攻略: 1.设置HTTP头信息 在PHP中使用header函数,设置以下HTTP头信息: Content-Description:文件描述…

    other 2023年6月26日
    00
  • 使用Portainer部署Docker容器的项目实践

    使用Portainer部署Docker容器的项目实践攻略 1. 简介 Portainer是一个易于使用的Docker管理用户界面,可轻松管理Docker实例,容器,图像,卷和网络等资源。在本文中,我们将探讨如何使用Portainer将您的Docker容器部署到生产环境中。 2. 安装Portainer 为了使用Portainer,我们需要安装它。您可以通过以…

    other 2023年6月20日
    00
  • VC++角色游戏中的人物初始化模块代码实例

    VC++角色游戏中的人物初始化模块代码实例 在VC++角色游戏中,人物初始化模块是十分重要的一部分。由于该模块涉及到人物的属性、状态等多个方面,因此代码实现方式也相对复杂。下面,我们将详细讲解人物初始化模块的完整攻略。 1. 理解人物属性 在人物初始化模块中,我们需要先了解人物的属性。人物属性是指人物的基本信息,如血量、魔法值、攻击力、防御力等等。根据不同的…

    other 2023年6月20日
    00
  • 小米路由器mini青春版怎么重启?中继模式重启恢复的方法

    小米路由器mini青春版的重启方法 小米路由器mini青春版是一种高性能、经济实惠的智能路由器,但有时候需要进行重启,来提升路由器的性能。下面将为大家详细介绍小米路由器mini青春版的重启方法以及中继模式重启恢复的方法。 小米路由器mini青春版的重启方法 小米路由器mini青春版有两种重启方法: 1. 通过系统界面进行重启 步骤如下: 登录小米路由器管理后…

    other 2023年6月27日
    00
  • 清空sqlserver数据库中所有表数据的方法

    清空SQL Server数据库中所有表数据的方法可以通过以下步骤实现: 步骤1:生成清空表数据的脚本 首先,您需要生成清空表数据的脚本。您可以使用以下脚本生成清空表数据的脚本: EXEC sp_MSForEachTable ‘ALTER TABLE ? NOCHECK CONSTRAINT ALL’ EXEC sp_MSForEachTable ‘DELET…

    other 2023年5月6日
    00
  • win10技术预览版build 9926普通用户是否适合下载安装?

    Win10技术预览版Build 9926普通用户是否适合下载安装攻略 1. 简介 Win10技术预览版Build 9926是微软提供的早期测试版本,用于让用户提前体验新功能和改进。然而,由于它是测试版,可能存在一些稳定性和兼容性问题。因此,对于普通用户来说,是否适合下载安装需要谨慎考虑。 2. 适合下载安装的情况 以下是两个适合下载安装Win10技术预览版B…

    other 2023年8月3日
    00
  • Netty NIO之ByteBuffer类基础学习

    以下是关于Netty NIO中ByteBuffer类的基础学习的完整攻略: Netty NIO之ByteBuffer类基础学习 1. ByteBuffer类简介 ByteBuffer是Java NIO中的一个关键类,用于处理数据的读写操作。它提供了一系列方法来操作字节数据,包括读取、写入、切换模式等。 2. 创建ByteBuffer对象 可以使用静态方法By…

    other 2023年10月14日
    00
  • Android Tab 控件详解及实例

    Android Tab控件详解及实例 Tab控件是一种非常常见的UI控件,常被用于切换不同的功能模块。本文将详细讲解Android Tab控件的使用方法。 Tab控件简介 Tab控件常用于切换应用的不同功能模块。它的主要特点是,所有的Tab选项都在同一个屏幕上,用户可以轻松地切换不同的模块。常见的Tab控件有ActionBar Tab、PagerTab等。 …

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部