SpringBoot Profile多环境配置方式

目录
  • Profile多环境配置
  • Profile配置详解
    • 1.问题
    • 2.为什么要使用profiles

Profile多环境配置

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

对于多环境的配置,各种项目构建工具或是框架的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包,而Spring Boot 就更简单了,打好包后,只需在不同的环境下启动时候指定读取的配置文件就可以了。

在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配置文件内容。

① application.properties:

# 在application.properties文件中通过spring.profiles.active属性来设置哪个配置文件会被加载
spring.profiles.active=dev

② application-dev.properties:

server.port=8081branch=dev

③ application-prod.properties:

server.port=8083branch=prod

④ application-test.properties:

server.port=8082branch=test

⑤ 测试类:

@Controller
@RequestMapping("/test")
public class TestController {
    @Value("${branch}")
    private String branch;
    @ResponseBody
    @GetMapping("/branch")
    public String test(){
        return branch;
    }
}

⑥ 如果我们直接启动项目,那么启动的就是dev环境,因为我们在application.properties中配置的是dev

⑦ 打包项目(clean,install),打好包后,启动时指定读取的配置文件

java -jar springboot-profile-0.0.1-SNAPSHOT.jar --spring.profiles.active=test

Profile配置详解

1.问题

开发环境和真实的项目环境是不样的

  • 8080
  • 80

2.为什么要使用profiles

在开发中,一般有两种环境

1,生产环境 [项目上线,客户在使用中,就是生产环境]

2,开发环境[就是开发环境,不解释]

  • 有时候开发环境和生产环境的配置方法是不一样的,那么如何快速的切换呢,这里就要使用profiles文件

3,创建application-dev.properties

server.port=8888

4,创建application-pro.properties

server.port=9999

5,配置application.properties

#    spring.profiles.active=pro

6,配置application.yml[和第5点任选一个]

#配置激活哪一个配置文件
spring:
  profiles:
    active:
    - dev

7,删除application.yml/.properties文件如何运行

  • 右键运行–>Run Configruations

  • 进入设置运行时的虚拟机参数

-Dspring.profiles.active=pro

8,去掉application.properties的jar包运行方式

9,yml文件的多配置块的集成切换

#主配置,启动哪个配置文件
spring:
  profiles:
    active:
    - dev
#插入开发配置文件
---
spring:
  profiles: dev
server:
  port: 8888
#插入生产的配置文件
---
spring:
  profiles: pro
server:
  port: 9999

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • SpringBoot Profiles 多环境配置及切换

    目录 前言 默认环境配置 默认运行环境 多环境配置 多环境切换 小结 前言 大部分情况下,我们开发的产品应用都会根据不同的目的,支持运行在不同的环境(Profile)下,比如: 开发环境(dev) 测试环境(test) 预览环境(pre) 生产环境(prod) 这里的 环境 实际上是一个统称,不同的环境可能代表着 使用的域名.端口.实例数目是不同的: 连接的数据库地址.端口.名称是不同的: 使用的日志输出格式.级别.保存时间是不同的: 以数据库为例,应用在开发环境下运行时,连接的是开发环境对应的

  • SpringBoot 动态配置Profile环境的方式

    下面的例子是通过修改开发环境和生产环境的动态配置的端口号的示例: 开发环境端口号是 8081 生产环境端口号是 8082 springboot的配置方式 springboot的配置有两种:properties和yaml或yml properties方式配置 1.在application.properties配置环境 创建两个application-xx.properties 一个application-dev.properties #开发环境 一个application-pro.properti

  • springboot获取profile的操作

    目录 springboot获取profile 通过代码获取profile 通过注解的方式来获取Profile spring profile的基本使用 Spring profile在我们系统中的使用非常简单 我们的问题出在哪里呢? springboot获取profile 通过代码获取profile @Component public class ProfileUtils implements ApplicationContextAware { private static ApplicationC

  • SpringBoot启动指定profile的多种方式

    配置文件中设置 通常在公司级别的项目中,我们可能会写多个application- dev/prod.yml ,然后我们通常会在application.yml配置文件中写入 spring: profiles: active: dev 这里会指定激活的profile是application- dev.yml 注意:application.yml中类似Java中的父类,其他application- dev/prod.yml会继承这个文件,可以进行重写,没有进行重写的属性我们也是能直接读取的,比如app

  • SpringBoot2零基础到精通之profile功能与自定义starter

    目录 1 profile功能 1.1 profile的生效规则 1.2 外部配置源 2 自定义starter 1 profile功能 1.1 profile的生效规则 为了方便多环境适配,SpringBoot简化了profile功能,具体的使用规则如下: ①在resources文件夹下可以一次创建多个application-xxx.yaml配置文件,分别对应着不同的生产.测试等环境,但是只有命名为application.yaml(或者后缀.properties的文件)文件会默认加载,所以说其他环

  • SpringBoot中获取profile的方法详解

    目录 spring boot与profile 静态获取方式 autowire ProfileConfig spring boot与profile spring boot 的项目中不再使用xml的方式进行配置,并且,它还遵循着约定大于配置. 静态获取方式 静态工具类获取当前项目的profile环境. import org.springframework.beans.BeansException; import org.springframework.context.ApplicationConte

  • Spring Boot常用功能Profile详解

    入口 相关逻辑的入口是listener类:ConfigFileApplicationListener,当容器广播器触发ApplicationEnvironmentPreparedEvent事件时,ConfigFileApplicationListener会收到广播器的通知,进而执行onApplicationEnvironmentPreparedEvent方法 入口处代码: @Override public void onApplicationEvent(ApplicationEvent even

  • Java SpringBoot启动指定profile的8种方式详解

    目录 配置文件中设置 命令行设置 IDEA中设置 1.program arguments程序参数 2.VM options虚拟机参数 3.Active profiles 参数 遇到的问题 总结 配置文件中设置 通常在公司级别的项目中,我们可能会写多个application- dev/prod.yml ,然后我们通常会在application.yml配置文件中写入 spring: profiles: active: dev 这里会指定激活的profile是application- dev.yml

  • springboot入门 之profile设置方式

    目录 配置方式 命令行方式 系统变量方式 Java系统属性方式 配置文件方式 优先级 激活多个profile 配置方式 命令行方式 命令行方式是一种外部配置的方式,在执行java -jar命令时可以通过 --spring.profiles.active=test的方式进行激活指定的profiles列表. 使用方式如下所示: java -jar order-service-v1.0.jar --spring.profiles.active=dev 系统变量方式 需要添加一个名为SPRING_PRO

  • SpringBoot Profile多环境配置方式

    目录 Profile多环境配置 Profile配置详解 1.问题 2.为什么要使用profiles Profile多环境配置 我们在开发项目时,通常同一套程序会被发布到几个不同的环境,比如:开发.测试.生产等.其中每个环境的数据库地址.redis地 址.服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事. 对于多环境的配置,各种项目构建工具或是框架的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后

  • springboot学习笔记之 profile多环境配置切换的实现方式

    前言 一个应用程序从开发到上线,往往需要经历几个阶段,例如开发.测试.上线.每个阶段所用到的环境的配置可能都是不一样的,Springboot 应用可以很方便地在各个环境中对配置进行切换.所以,今天主要介绍Springboot profiles实现多环境配置切换. profiles多环境配置切换的四种方式 多个配置文件的方式yml 多文档块方式 设置程序参数 设置虚拟机参数 1.多个配置文件的方式 1.1.修改application.properties server.port=8080 1.2.

  • springcloud使用profile实现多环境配置方式

    目录 使用profile实现多环境配置 基本介绍 项目配置 springprofile多环境配置管理 现象 解决 激活profile 使用profile实现多环境配置 基本介绍 在开发过程中,我们的项目会存在不同的运行环境,比如开发环境.测试环境.生产环境,而我们的项目在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力. springcloud

  • SpringBoot Jpa分页查询配置方式解析

    这篇文章主要介绍了SpringBoot Jpa分页查询配置方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这是已经被废弃的接口 Sort sort = new Sort(Sort.Direction.DESC,"bean类中字段"); //创建时间降序排序 Pageable pageable = new PageRequest(pageNumber,pageSize,sort); 上面的用法在最新的SpringBoot中已经不

  • springboot整合多数据源配置方式

    目录 简介 一.表结构 二.多数据源整合 1. springboot+mybatis使用分包方式整合 1.1 主要依赖包 1.2 application.yml 配置文件 1.3 建立连接数据源的配置文件 1.4 具体实现 2. springboot+druid+mybatisplus使用注解整合 2.1 主要依赖包 2.2 application.yml 配置文件 2.3 给使用非默认数据源添加注解@DS 简介 主要介绍两种整合方式,分别是 springboot+mybatis 使用分包方式整

  • springboot临时文件存储目录配置方式

    springboot临时文件存储目录配置 场景: 上传文件功能报错,然后排查日志. 报错日志: The temporary upload location [/tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOT] is not valid 原因: 在linux系统中,springboot应用服务再启动(java -jar 命令启动服务)的时候,会在操作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换

  • springboot的pom.xml配置方式

    目录 springboot的pom.xml配置 springboot 常用pom 总结 springboot的pom.xml配置 <name>springboot</name> <description>springboot</description> <packaging>war</packaging> <parent> <groupId>org.springframework.boot</groupI

  • springboot打包不同环境配置以及shell脚本部署的方法

    前言 本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plugin打发布压缩包 分享shenniu_publish.sh程序启动工具 linux上使用shenniu_publish.sh启动程序 profiles指定不同环境的配置 通常一套程序分为了很多个部署环境:开发,测试,uat,线上 等,我们要想对这些环境区分配置文件,可以通过两种方式: 通过a

  • Linux系统中jdk环境配置方式

    目录 1.下载jdk安装包 3.上传jdk安装包到linux 4.解压jdk安装包 5.开始配置环境变量 6.验证是否配置jdk成功 总结 如下操作步骤为linux系统中部署jdk环境 1.下载jdk安装包 jdk官网下载地址 https://www.oracle.com/java/technologies/javase-downloads.html 2.新建安装jdk文件夹(/usr/local/java/jdk) cd /usr/local mkdir /usr/local/java loc

随机推荐