SpringBoot中的Profile多环境配置方法

yizhihongxing

为了更好地适应不同的开发、测试、生产等不同环境,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日

相关文章

  • Python 中的嵌套字典推导的使用及优势

    Python 中的嵌套字典推导的使用及优势 在Python中,嵌套字典推导是一种强大的工具,可以快速创建和转换嵌套字典。嵌套字典推导的语法类似于列表推导,但是可以在字典中嵌套使用。 基本语法 嵌套字典推导的基本语法如下: {key_expression: value_expression for outer_loop for inner_loop} 其中,k…

    other 2023年7月27日
    00
  • Android控件之EditView常用属性及应用方法

    Android控件之EditView常用属性及应用方法 EditView是Android中的一个常用控件,用于输入文本信息。在使用EditView时,常用的属性及应用方法有以下几点: 常用属性 android:id android:id用于给EditView设置唯一标识符,方便后续在Java代码中对该控件进行操作。 示例: <EditText andr…

    other 2023年6月27日
    00
  • 微信小程序传值(传递数据)的一些方法汇总

    微信小程序传值的方法汇总 在微信小程序开发中,传递数据是非常常见的需求。本攻略将详细介绍一些常用的传值方法,以帮助你更好地理解和应用。 1. URL参数传递 URL参数传递是一种简单直接的传值方式,适用于页面跳转的场景。通过在URL中添加参数,可以在目标页面中获取传递的数据。 示例1:在页面A跳转到页面B,并传递参数name为\”John\”和age为25。…

    other 2023年7月29日
    00
  • 关于utf8:将utf-8转换为ascii

    以下是关于“将UTF-8转换为ASCII”的完整攻略,过程中包含两个示例。 背景 在编程中,有时需要将UTF-8编码的字符串转换为ASCII编码的字符串。本攻略将介绍如何将UTF-8编码的字符串转换为ASCII编码的字符串。 基本原理 在Python中,可以使用encode()方法将UTF-8编码的字符串转为字节数组,然后使用decode()方法将字节数组转…

    other 2023年5月9日
    00
  • C++实现反转链表的两种方法

    C++实现反转链表的两种方法 在C++中,反转链表有两种常见的实现方法,分别是迭代法和递归法。 迭代法 迭代法解决链表反转问题的步骤如下: 创建三个指针:pre、current和next。 将当前节点的后继指针指向前一个节点,即current->next = pre。 将pre、current、next三个指针依次向左移动一个节点。 重复2、3步,直到…

    other 2023年6月27日
    00
  • iOS8.4怎样精简系统?iOS8.4越狱删除应用精简系统教程

    iOS8.4是一款比较老的iOS版本了,随着时间的推移,手机中安装的软件越来越多,导致系统占用了越来越大的空间,而iOS8.4的容量非常小,因此可能会出现空间不足的情况。本篇文章将介绍一些方法来帮助用户精简iOS8.4系统。 iOS8.4精简系统方法 方法1:使用手机自带的清理工具 在iOS8.4中,系统自带了清理工具,可以用来清理临时文件等占用手机存储空间…

    other 2023年6月27日
    00
  • SQL SERVER使用REPLACE将某一列字段中的某个值替换为其他的值

    要使用REPLACE函数将某一列字段中的某个值替换为其他的值,可以按照以下步骤进行操作: 首先需要连接到数据库,并选择需要操作的表。 接着,可以使用REPLACE函数来执行替换操作。REPLACE函数需要三个参数:要替换的原始字符串、要替换成的新字符串和原始字符串所在的列名。具体语法如下: UPDATE tableName SET columnName = …

    other 2023年6月25日
    00
  • Python中关于面向对象私有属性方法的详细讲解

    接下来我将为你详细讲解Python中关于面向对象私有属性方法的一些基本概念和详细使用方法。 什么是面向对象私有属性和方法 在Python中,面向对象的编程方式是一种非常重要的编程方式。在面向对象编程中,常常需要将某些属性和方法设置为私有,以便更好地控制对它们的访问。 在Python中,面向对象的私有属性和方法以双下划线开头。例如,__my_private_a…

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