`
y806839048
  • 浏览: 1107636 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

springboot 不同环境不同的配置

阅读更多

前言

     我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。

      对于多环境的配置,各种项目构建工具或是框架的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包,Spring Boot也不例外,或者说更加简单。

 

 

摘要:

配置类区分环境

springboot用注解@configuration生成配置的时候如果需要区别环境用@profile(""),如果是常规项目用xml配置单的话是通过文件的路径区别(在pom.xml定好profile值和路径的关系),可以同时用这两套

另:

在pom.xml中区别的是不同的环境用不同的文件夹中的文件

 

在properties中设置的是此文件夹中又根据文件的-dev这种特征区别include不同的子属性文件,但是只对这个文件中application-{profile}.properties这种命名规则的选择有效,其他命名的属性文件是全部累加加载

spring.properfile.actives=dev;

 

属性文件区分环境

1,不同的文件命名格式

   application-dev.properties:开发环境

 

   application-test.properties:测试环境

 

   application-prod.properties:生产环境

 

2, application.properties中设置spring.profiles.active=dev  就是用dev的意思

   或者打包的时候配置java -jar xxx.jar --spring.profiles.active=test

1. springboot多环境配置

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

   application-dev.properties:开发环境

   application-test.properties:测试环境

   application-prod.properties:生产环境

 至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

如:spring.profiles.active=test就会加载application-test.properties配置文件内容

 

2.样例

 

针对各环境新建不同的配置文件application-dev.propertiesapplication-test.propertiesapplication-prod.properties

       在这三个文件均都设置不同的server.port属性,如:dev环境设置为8080,test环境设置为9090,prod环境设置为80

       application.properties中设置spring.profiles.active=dev,就是说默认以dev环境设置

  

测试不同配置的加载:

       执行java -jar xxx.jar,可以观察到服务端口被设置为8080,也就是默认的开发环境(dev)

 

       执行java -jar xxx.jar --spring.profiles.active=test,可以观察到服务端口被设置为9090,也就是测试环境的配置(test)

 

       执行java -jar xxx.jar --spring.profiles.active=prod,可以观察到服务端口被设置为80,也就是生产环境的配置(prod)

 

3.总结

   application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认配置

   application-{profile}.properties中配置各个环境不同的内容

   通过命令行方式去激活不同环境的配置。

分享到:
评论

相关推荐

    SpringBoot开发环境搭建及配置

    可以用来学习SpringBoot,SpringBoot开发环境搭建及配置

    springboot实现maven打包加载不同环境的方式二

    当前案例中包含一整套的代码和word文档,非常适合新手... 主要是通过maven打包加载不同环境的properties文件 然后将对于的属性绑定到指定的实体对象中;然后通过调用接口可以看到加载不同环境控制台打印的内容是不一样的

    springboot实现maven打包加载不同环境的方式一

    当前案例中包含一整套的代码和word文档,非常适合新手代码简单易懂; 主要是通过maven打包配合springboot application.properties文件配置实现通过打包来完成加载不同环境的配置内容;

    springboot环境

    SpringBoot环境是一个专门为开发者准备的集成开发环境,它包含了SpringBoot框架的核心组件以及一系列常用的开发插件,确保了开发者能够快速、高效地进行基于SpringBoot的应用程序开发。SpringBoot是Spring框架的一个...

    springboot 多环境配置 yml文件版的实现方法

    SpringBoot 多环境配置是指在不同的环境中(如开发环境、测试环境、生产环境等),使用不同配置文件来管理应用程序的配置。这种配置方式可以使得应用程序的配置更加灵活和可靠。在本文中,我们将介绍使用 YML 文件...

    【SpringBoot】多环境配置.doc

    【SpringBoot】多环境配置是开发中不可或缺的一部分,它允许我们根据不同的运行环境(如开发、测试、生产)使用不同的配置。以下是对SpringBoot多环境配置的详细解释: 1. **为什么需要多环境配置**: 在实际项目...

    shell 管理SpringBoot 生产环境服务-转载

    8. 脚本中可能涉及的环境变量设置和配置文件加载。 通过学习这些内容,读者将能够创建自己的shell脚本来高效地管理和维护SpringBoot服务,这对于任何使用SpringBoot构建生产级服务的开发者或运维人员来说都是宝贵的...

    Springboot与Maven多环境配置文件夹解决方案.docx

    本文介绍了如何使用 SpringBoot 和 Maven 实现多环境配置文件夹解决方案,使用 Profile 功能来加载不同的配置文件,使用 Resources 和 Filter 来指定打包内容和替换变量,选择当前环境,加载对应的配置文件。

    详解springboot + profile(不同环境读取不同配置)

    1. 多环境配置管理:Profile 机制可以用来管理多环境下的配置,从而满足不同环境下的需求。 2. 模块化配置管理:Profile 机制可以用来管理不同模块或服务的配置,从而满足不同模块或服务的需求。 3. 微服务架构配置...

    SpringBoot开发环境、测试环境、部署环境切换.pdf

    `activeByDefault`属性用于设置默认激活的环境配置,这里设为开发环境。 3. **配置文件过滤** 在`<build>`节点中,我们需要配置Maven的资源过滤,以便在打包时选择正确的配置文件: ```xml <!-- 配置文件...

    springboot基础环境

    7. **Spring Profiles**:SpringBoot支持环境配置,通过`spring.profiles.active`属性可以指定不同环境下的配置文件,实现开发、测试、生产环境的差异化配置。 8. **Maven/Gradle插件**:SpringBoot提供了构建工具...

    springboot环境配置

    以上只是SpringBoot环境配置的一部分,实际上它还包含很多其他功能,如缓存管理、任务调度、消息总线等。学习和掌握这些配置,能够帮助我们更高效地构建和管理SpringBoot应用。在实践中,我们应该根据具体需求灵活...

    springboot环境搭建软件包.rar

    SpringBoot是一款基于Java的轻量级框架,它简化了创建独立、嵌入式、生产级别的Spring应用程序的过程。...这个过程有助于初学者快速上手SpringBoot,同时也为有经验的开发者提供了便捷的开发环境配置。

    oracle&&mysql;多环境配置(SpringBoot)

    本篇文章将深入探讨如何在SpringBoot项目中进行多环境配置,以适应不同的数据库需求,同时解决可能出现的SQL I/O异常问题。 首先,我们要理解SpringBoot的配置原理。SpringBoot的核心在于自动化配置,它通过`...

    SpringBoot视频教程 百度云

    01-SpringBoot介绍 02-SpringBoot为什么火? 03-第一个SpringBoot程序 04-SpringBoot访问静态文件 05-SpringBoot捕获全局异常 06-SpringBoot集成Thymeleaf ...23-SpringBoot多环境区分 24-SpringBoot打包发布

    SpringBoot生产环境和测试环境配置分离的教程详解

    SpringBoot 提供了一种方便的方式来实现环境配置的分离,使得开发者能够针对不同的环境使用不同的配置。本教程将详细介绍如何在SpringBoot中进行生产环境和测试环境配置的分离。 1. **创建环境配置文件** 在...

    springboot demo 环境搭配(内涵注释)

    通过深入研究这个项目,开发者可以学习如何设置和运行一个基础的 SpringBoot 应用,同时了解其自动配置和依赖管理机制。对于初学者来说,这是一个很好的起点,能帮助他们快速上手 SpringBoot 开发。而对于有经验的...

    SpringBoot最新教程(精辟)

    01-SpringBoot介绍 02-SpringBoot为什么火? 03-第一个SpringBoot程序 04-SpringBoot访问静态文件 05-SpringBoot捕获全局异常 06-SpringBoot集成Thymeleaf ...23-SpringBoot多环境区分 24-SpringBoot打包发布

    SpringBoot+Mybatis基础环境与热部署配置

    在本文中,我们将深入探讨如何使用SpringBoot和Mybatis构建基础的开发环境,并配置热部署。SpringBoot以其简化Spring应用程序的初始设置而受到广大开发者喜爱,而Mybatis作为轻量级的持久层框架,提供了灵活的数据...

Global site tag (gtag.js) - Google Analytics