返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot中的Profile多环境配置方法
  • 778
分享到

SpringBoot中的Profile多环境配置方法

Python 官方文档:入门教程 => 点击学习

摘要

目录Profile多环境配置一、使用profile文件进行多环境配置二、使用@Profile注解进行多环境配置Profile多环境配置       在实

Profile多环境配置

      在实际开发中,应用程序通常需要部署到不同的运行环境中如开发环境、测试环境、生产环境等。不同的环境可能使用不同的配置,如果每次部署都去手动修改配置文件,显然是一件非常麻烦的事。因此SpringBoot提供了两种多环境配置的方式,分别是使用profile文件进行多环境配置以及使用@Profile注解进行多环境配置

激活环境配置方式

1、在控制台运行下列命令激活环境配置

java -jar xxx.jar --spring.profiles.active=proflieName

2、在全局配置文件application.properties中配置激活环境属性(常用方式)

spring.profiles.active = proflieName

一、使用profile文件进行多环境配置

使用profile文件进行多环境配置时,该配置文件名需要满足application-{profile}.properties的格式,如下所示

application-{dev}.properties //开发环境配置文件

application-{test}.properties //测试环境配置文件

application-{prod}.properties //生产环境配置文件

1、在resource目录下分别创建application-dev.properties、application-test.properties、application-prod.properties多环境文件,并在各个配置文件中对服务端口进行不同的设置,示例如下

application-dev.properties --->server.port=8081

application-test.properties --->server.port=8082

application-prod.properties --->server.port=8083

2、在application.properties中指定要激活的多环境配置文件

#指定要激活的profiles多环境配置为dev的配置
spring.profiles.active=dev
#指定要激活的profiles多环境配置为test的配置
#spring.profiles.active=test
#指定要激活的profiles多环境配置为prod的配置
#spring.profiles.active=prod

3、启动SpringBoot启动类

从运行结果中可以看到,Tomcat已经被修改为我们在application-dev.properties中配置的8081(默认为8080)

二、使用@Profile注解进行多环境配置

@Profile注解主要作用于类,并通过value属性指定配置环境,等同于Profile文件application-{profile}.properties名称中的profile值,使用@Profile注解配置文件同样需要在全局文件中激活

与@Configuration搭配使用

1、在config包下创建datasource包,在该包下创建一个接口DBConnector

package com.chen.config.datasource;
​
public interface DBConnector {
    public void dataConfig();
}

2、在detasource包下创建impl包,用于管理DBConnector的实现类

在该包下创建三个实现类分别DevDBConnector,TestDBConnector,ProdDBConnector

package com.chen.config.datasource.impl;
​
import com.chen.config.datasource.DBConnector;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
​
@Configuration// 表明当前类为一个配置类,保证SpringBoot可以自动扫描并识别
@Profile("dev")//指定多环境配置类标识
public class DevDBConnector implements DBConnector {
    @Override
    public void dataConfig() {
        System.out.println("开发环境");
    }
}
package com.chen.config.datasource.impl;
​
import com.chen.config.datasource.DBConnector;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
​
@Configuration// 表明当前类为一个配置类,保证SpringBoot可以自动扫描并识别
@Profile("test")//指定多环境配置类标识
public class TestDBConnector implements DBConnector {
    @Override
    public void dataConfig() {
        System.out.println("测试环境");
    }
}
package com.chen.config.datasource.impl;
​
import com.chen.config.datasource.DBConnector;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
​
@Configuration// 表明当前类为一个配置类,保证SpringBoot可以自动扫描并识别
@Profile("prod")//指定多环境配置类标识
public class ProdDBConnector implements DBConnector {
    @Override
    public void dataConfig() {
        System.out.println("生产环境");
    }
}

3、在application.properties中指定要激活的多环境配置文件

#指定要激活的profiles多环境配置为dev的配置
spring.profiles.active=dev
#指定要激活的profiles多环境配置为test的配置
#spring.profiles.active=test
#指定要激活的profiles多环境配置为prod的配置
#spring.profiles.active=prod

4、编写测试类

import com.chen.config.datasource.DBConnector;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
​
​
@RunWith(SpringRunner.class)
@SpringBootTest
public class datasourceTest {
    @Autowired
    private DBConnector dbConnector;
​
    @Test
    public void testDataSource(){
        dbConnector.dataConfig();
    }
}

5、运行测试类

可以看到启动端口好为Profile文件配置的dev中8081

也调用了@Profile("dev")中的输出信息

项目结构

到此这篇关于SpringBoot中的Profile多环境配置的文章就介绍到这了,更多相关SpringBoot Profile多环境配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot中的Profile多环境配置方法

本文链接: https://lsjlt.com/news/178181.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBoot中的Profile多环境配置方法
    目录Profile多环境配置一、使用profile文件进行多环境配置二、使用@Profile注解进行多环境配置Profile多环境配置       在实...
    99+
    2023-01-28
    SpringBoot Profile多环境配置 SpringBoot Profile配置 SpringBoot 多环境配置
  • SpringBoot Profile多环境配置方式
    目录Profile多环境配置Profile配置详解1.问题2.为什么要使用profilesProfile多环境配置 我们在开发项目时,通常同一套程序会被发布到几个不同的环境,比如:开...
    99+
    2024-04-02
  • SpringBoot配置Profile实现多环境支持
    前些天,有一个需求要用SpringBoot的多环境,当时没有系统学习springboot ,所以在网上找来找去的找到了一个解决方案,并写了一篇文章用来记录---(springBoot...
    99+
    2024-04-02
  • SpringBoot 动态配置Profile环境的方式
    下面的例子是通过修改开发环境和生产环境的动态配置的端口号的示例: 开发环境端口号是 8081 生产环境端口号是 8082 springboot的配置方式 springboot的配置...
    99+
    2024-04-02
  • SpringBoot中怎么通过配置Profile实现多环境支持
    本篇文章给大家分享的是有关SpringBoot中怎么通过配置Profile实现多环境支持,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Profile1.多Profile文件我们...
    99+
    2023-06-20
  • springboot结合maven配置不同环境的profile方式
    目录springboot结合maven配置不同环境的profile1、在spring-boot中新建配置文件2、在application.yml中增加属性3、在pom.xml中添加不...
    99+
    2024-04-02
  • springcloud使用profile实现多环境配置方式
    目录使用profile实现多环境配置基本介绍项目配置springprofile多环境配置管理现象解决激活profile使用profile实现多环境配置 基本介绍 在开发过程中,我们的...
    99+
    2024-04-02
  • springboot多环境进行动态配置的方法
    目录一、如何配置多环境二、生效多环境的多种方式2.1、spring.config.name2.2、spring.profiles.active2.3、pom中<profiles...
    99+
    2024-04-02
  • SpringBoot 中怎么配置多环境
    SpringBoot 中怎么配置多环境,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SpringBoot 的多环境配置1. 语法结构:application-{p...
    99+
    2023-06-19
  • springcloud中怎么使用profile实现多环境配置
    这篇文章主要介绍“springcloud中怎么使用profile实现多环境配置”,在日常操作中,相信很多人在springcloud中怎么使用profile实现多环境配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-29
  • 详解springboot + profile(不同环境读取不同配置)
    具体做法: 不同环境的配置设置一个配置文件,例如:dev环境下的配置配置在application-dev.properties中;prod环境下的配置配置在application-prod.properties中。 在applicati...
    99+
    2023-05-31
    spring boot profile
  • Springboot与Maven多环境配置的解决方案
    目录Profile用法resources filters 多环境配置解决方案 Profile用法 我们在application.yml中为jdbc.username赋予一个值,这个值...
    99+
    2024-04-02
  • SpringBoot如何配置logback.xml多环境
    这篇文章主要介绍SpringBoot如何配置logback.xml多环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!操作步骤resource文件的内容结构如下:配置application.ymlspring:&nb...
    99+
    2023-06-15
  • SpringBoot-application.yml多环境配置详解
    介绍 开发SpringBoot应用的时候,通常程序需要在测试环境测试成功后才会上线到生产环境。而测试环境和生产环境的数据库地址、服务器端口等配置都不同。在为不同环境打jar包时,需要...
    99+
    2024-04-02
  • 如何配置etc/profile环境变量
    这篇文章主要介绍“如何配置etc/profile环境变量”,在日常操作中,相信很多人在如何配置etc/profile环境变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何配置etc/profile环境变量...
    99+
    2023-06-10
  • SpringBoot多环境配置教程详解
    目录一、为什么要配置多环境二、如何进行多环境配置呢1、针对 yaml 配置文件2、针对 properties 配置文件三、命令行启动参数第一步:打包项目第二步:输入命令行补充内容一、...
    99+
    2024-04-02
  • SpringBoot Profiles 多环境配置及切换
    目录前言 默认环境配置 默认运行环境多环境配置 多环境切换 小结 前言 大部分情况下,我们开发的产品应用都会根据不同的目的,支持运行在不同的环境(Profile)下,比如: ...
    99+
    2024-04-02
  • Spring 中如何根据环境切换配置 @Profile
    Spring 根据环境切换配置 @Profile 我们实际开发中往往有多个环境,比如测试环境、开发环境、生产环境等;不同的环境往往配置也有区别,一直切换环境的配置很麻烦,Spring...
    99+
    2024-04-02
  • SpringBoot 如何通过 Profile 实现不同环境下的配置切换
    目录一、搭建工程二、多文件配置方式三、多片段配置方式四、使用外部配置文件SpringBoot 通过 profile 实现在不同环境下的配置切换,比如常见的开发环境、测试环境、生产环境...
    99+
    2022-11-13
    SpringBoot 配置切换 SpringBoot  Profile配置切换
  • SpringBoot配置logback.xml 多环境的操作步骤
    前提 logback日志文件要实现springboot多环境配置,不然每次都需要修改logback.xml里面的配置文件,所以很麻烦。 操作步骤 1.resource文件的内容结构如...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作