spring.profiles.active和spring.profiles.include的使用及区别说明
转自:
spring.profiles.active和spring.profiles.include的使用及区别说明
下文笔者讲述spring.profiles.active和spring.profiles.include的区别简介说明,如下所示
我们都知道,在日常开发中,开发|测试|生产环境都拥有不同的配置信息如:jdbc地址、ip、端口等 此时为了避免每次都修改全部信息,我们则可以采用以上的属性处理此类异常
spring.profiles.active属性
例:配置文件,可使用以下方式定义application-${profile}.properties 开发环境配置文件:application-dev.properties 测试环境配置文件:application-test.properties 生产环境配置文件:application-prod.propertiesapplication.properties配置则可以根据不同的属性切换到不同的配置文件 spring.profiles.active,属性值为${profile}。spring.profiles.active=dev:用application-dev.properties spring.profiles.active=test:启用application-test.properties spring.profiles.active=prod:启用application-prod.properties
例:
java -jar xx.jar --spring.profiles.active=test 注意事项:此命令的优先级最高当程序启动时,加入此环境变量时则会自动启用 application-test.properties配置文件
spring.profiles.include属性
当我们需在开发环境,再次细分配置信息,如: application-dev1.properties中存储jdbc信息 application-dev2.properties中存储ip、端口信息 即在启用application-dev.properties开发环境(主)配置文件时同时启用application-dev1.properties和application-dev2.propertie。此时可使用spring.profiles.include属性同时启用其他的profile
配置方法
当properties文件:spring.profiles.include=dev1,dev2 yaml文件配置方法 spring.profiles.include: -dev1 -dev2 或 spring.profiles.include:dev1,dev2
spring.profiles.active和spring.profiles.include的使用及区别
配置方式不同
配置方式一:application.properties中,配置spring.profiles.active=dev的同时指定spring.profiles.include=dev1,dev2 配置方式二:application.properties中,配置spring.profiles.active=dev,application-dev.properties中配置spring.profiles.include=dev1,dev2使用application-dev.properties时自动就激活了dev1、dev2两个文件,不用再次指定
区别
第一种方式启动时控制台打印The following profiles are active:dev1,dev2,dev 第二种方式启动时控制台打印The following profiles are active:dev, dev1,dev2 按照顺序后面的覆盖前面
例:
application-dev.properties配置
my.name=dev my.height=190#同时触发dev1和dev2的激活 spring.profiles.include=dev1,dev2application-dev1.properties配置:my.name=dev1 my.height=191application-dev2.properties配置:my.name=dev2 #my.height=192application-prod.properties配置:my.name=prod my.height=182application-prod1.properties配置:my.name=prod1 my.height=188application-prod2.properties配置:my.name=prod2 my.height=182测试一: 在application.properties配置文件中,指定#激活的是开发环境配置文件 spring.profiles.active=dev启动时不指定参数 结果:打印的内容为:姓名:dev2,身高:191----具体原因如下所示---- 先加载application.properties 再加载application-dev.properties, my.name=dev my.height=190 加载application-dev1.properties, my.name=dev1 my.height=191 加载application-dev2.properties, my.name=dev2 my.height=191测试二:在测试一的基础上,启动时指定参数:–spring.profiles.active=prod优先级最高,会使用生产环境配置文件 以上配置信息,将输出以下信息 打印的内容为:姓名:prod,身高:182测试三: 在application.properties配置文件中,指定#激活的是生产环境配置文件 spring.profiles.active=prod #同时触发prod1和prod2的激活 spring.profiles.include=prod1启动时不指定参数 ---运行以上信息,将输出以下信息 The following profiles are active: prod1,prod2,prod 打印的内容为:姓名:prod,身高:182
spring.profiles.active和spring.profiles.include的使用及区别说明相关推荐
- springboot启动spring.profiles.active和spring.profiles.include影响的区别
application.properties文件内容 spring.profiles.active=test4 pring.profiles.include=test3,test5 version=1 ...
- spring.profiles.include 跟 spring.profiles.active 的区别
spring.profiles.include 跟 spring.profiles.active 的区别 背景 我们经常看到springboot的 spring.profiles.active,有时也 ...
- springBoot配置spring.profiles.active多环境
spring.profiles.active多环境配置 springBoot动态配置多环境(dev/test/prod)数据信息读取 pom文件配置 YAML文件配置 springBoot动态配置多环 ...
- springboot:spring.profiles.active
使用maven-install命令导出jar包. 使用 "java -jar jar包名称" 运行jar包 java -jar springbootmvcproject-0.0 ...
- Spring Boot配置@spring.profiles.active配置
一 pom.xml配置如下: <profiles><profile><id>dev</id><properties><spring.p ...
- spring.profiles.active=@profiles.active@ 的使用
现在在的公司用spring.profiles.active=@profiles.active@ 当我看到这个的时候,一脸蒙蔽,这个@ 是啥意思. 这里其实是配合 maven profile进行选择不同 ...
- 【Java】spring.profiles.active无效
一.假设 1.假设是maven项目 2.假如pom增加了打包插件 3.假设application.yml配置了spring.profies.active 4.假设用到MyBatisPlus且mappe ...
- SpringBoot配置文件中spring.profiles.active配置详解
SpringBoot配置文件中spring.profiles.active配置详解 1.多环境配置 我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发.测 ...
- springboot获取active_springboot 使用spring.profiles.active 区分不同环境下配置文件
一.新建一个maven 工程 二.在pom.xml文件中加入如下依赖 4.0.0 com.bt.com.cn bt-springboot 0.0.1-SNAPSHOT bt-springboot bt ...
最新文章
- OpenCV3.3中主成分分析(Principal Components Analysis, PCA)接口简介及使用
- hadoopStreaming---使用Python编写MapReduce
- T-SQL Enhancement in SQL Server 2005[上篇]
- NLP之TM:基于gensim库调用20newsgr学习doc-topic分布并保存为train-svm-lda.txt、test-svm-lda.txt
- Mysql sequence使用_MySQL 序列使用_mysql sequence_mysql auto increment
- UltiDev Cassini Web Server介绍
- 玩转GIT系列之【如何配置GIT的用户名/密码/密钥】
- 【Java】JDBC连接MySQL/SQLServer/Oracle三种数据库
- java课题研究方法和技术途径_课题研究的基本方法有哪些?
- 各种dns:百度DNS/阿里DNS/114DNS/腾讯DNS/谷歌DNS/OpenDNS 对比评测
- 什么是ECS框架?讲解 + 实战带你入门ECS框架
- 刽子手c语言,竞赛题目选讲——刽子手的游戏(C语言)
- 威胁猎人|改机工具在黑灰产中的应用
- python中localtime和gtime的区别及时区计算的代码
- ECN Trade:最强飓风来袭,总统大选间断
- 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用
- SPM AC原点校正
- 计算机论文的摘要和关键词是什么意思,论文中的摘要和关键词是什么?
- 魁拔妖侠传 之 浮云骑士语录
- java httpresponse headres属性,http响应头首部Content-Length
热门文章
- IKBC键盘快捷键(typeman系统)
- Java 8 (1) 行为参数化
- VPF:适用于 Python 的开源视频处理框架,加速视频任务、提高 GPU 利用率
- cortex M与cortex A
- 2021广州设计周:vifa威法携智能家居全新亮相
- 合肥计算机学校 吕子立,合肥理工学校校长张良平一行到皖北经济技术学校考察调研...
- 牛头刨床c语言编程,牛头刨床C语言模拟.doc
- 达内java面试题集_达内java面试题
- 计算机毕业设计之民宿管理系统
- Ubuntu22 Linux 服务器安装显卡驱动,cuda,cudnn和pytorch