Spring Profile

Spring可使用Profile决定程序在不同环境下执行情况,包含配置、加载Bean、依赖等。
Spring的Profile一般项目包含:dev(开发), test(单元测试), qa(集成测试), prod(生产环境)。由spring.profiles.active属性决定启用的profile。
SpringBoot的配置文件默认为 application.properties(或yaml,此外仅以properties配置为说明)。不同Profile下的配置文件由application-{profile}.properties管理,同时独立的 Profile配置文件会覆盖默认文件下的属性。

Maven Profile

Maven同样也有Profile设置,可在构建过程中针对不同的Profile环境执行不同的操作,包含配置、依赖、行为等。
Maven的Profile由 pom.xml 的标签管理。每个Profile中可设置:id(唯一标识), properties(配置属性), activation(自动触发的逻辑条件), dependencies(依赖)等。
此文章不对Spring和Maven的Profile作过多说明,详细情况请自行查阅。

spring 多环境

maven增加profiles配置

<profiles><profile><id>dev</id><properties><!-- 环境标识,需要与配置文件的名称相对应 --><profile>deve</profile></properties><activation><!-- 默认环境 --><activeByDefault>true</activeByDefault></activation></profile><profile><id>test</id><properties><profile>test</profile></properties></profile><profile><id>prod</id><properties><profile>prod</profile></properties></profile></profiles>

application.properties

spring.profiles.active=@profile@

application-deve.properties

management.server.port=9001
management.endpoints.web.base-path=/monitormanagement.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=envmanagement.endpoint.health.show-details=alwaysmanagement.endpoint.beans.cache.time-to-live=10smanagement.endpoints.web.cors.allowed-origins=http://example.com
management.endpoints.web.cors.allowed-methods=GET,POST

image

  • application.properties中定义激活的环境
  • @profile@与maven中定义的profile保持一致

打包

run --> maven build... --> profile选择对应的环境,如下图则是打的生成的包
image

image

本地运行

通过spring boot参数覆盖的方式执行激活环境
image

image

2018-11-16 14:52:28.211  INFO 2068 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 9001 (http) with context path ''
2018-11-16 14:52:28.223  INFO 2068 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2018-11-16 14:52:28.224  INFO 2068 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 2.179 seconds (JVM running for 2.587)

热部署

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>true</scope><optional>true</optional></dependency><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork> <!-- 如果没有该配置,devtools不会生效 --></configuration></plugin></plugins></build>

spring boot + maven使用profiles进行环境隔离相关推荐

  1. Spring Boot+Maven实现车牌训练、识别系统

    目录 1.项目功能 2.项目概述 3.项目环境 之前为各位朋友分享过Python+OpenCV实现车牌检测与识别,本篇博文为各位分享Spring Boot+Maven实现车牌训练.识别系统. 1.项目 ...

  2. Spring Boot Maven插件

    Spring Boot Maven插件提供了使用Spring Boot应用程序步骤如下:   重新打包:创建一个可自动执行的jar或war文件.它可以替换常规工件,或者可以使用单独的分类器附加到构建生 ...

  3. Spring Boot——Maven使用SystemPath引用本地jar:ClassNotFoundException

    问题描述 <dependency><groupId>com.dingtalk</groupId><artifactId>dingtalk-api-sdk ...

  4. spring boot maven项目返回值乱码的解决方法

    spring boot maven项目返回值乱码的解决方法 1.先看乱码效果: spring boot maven项目,返回值乱码,如下图: 控制台打印log乱码,如下图: 有swagger的话,sw ...

  5. org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012

    警告]"build.plugins.plugin.version"for org.springframework.boot:spring boot maven plugin丢失. ...

  6. Spring Boot的Maven插件Spring Boot Maven plugin详解

    pring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven ...

  7. Spring boot + maven + jetty9在提交表单的时候出现Form too large

    使用Spring boot + maven + jetty9 提交表单的时候,表单过长时,会在org.eclipse.jetty.server.Requset抛出Form too large:XXX ...

  8. 调用支付宝第三方接口(沙箱环境) Spring Boot+Maven

    调用支付宝第三方接口(沙箱环境) Spring Boot+Maven 一.蚂蚁金服开放平台的操作 网址:https://open.alipay.com/platform/home.htm 支付宝扫码登 ...

  9. maven打包插件----Spring Boot Maven Plugin

    官方文档链接地址:http://docs.spring.io/spring-boot/docs/1.3.0.BUILD-SNAPSHOT/maven-plugin/index.html 第一部分 Sp ...

最新文章

  1. java crossdomin.xml_crossdomain.xml的配置详解
  2. 3.2.3 页面置换算法
  3. JAVA SPI机制及SPI机制在Tomcat中的应用
  4. 百度二年级手工机器人_让父母少弯腰的家务神器——追觅扫拖机器人慧目F9评测...
  5. -9 逆序输出一个整数的各位数字_逆序对个数(归并排序)
  6. 文章下载:关于窗宽窗位调节非常有用的论文《DICOM 医学图像窗口变换的加速算法》...
  7. 哈尔滨矢量地图_哈尔滨地图,哈尔滨电子地图,哈尔滨地图查询,哈尔滨街景地图 - 城市吧街景地图...
  8. ES6文档 思维导图笔记
  9. oracle常用函数汇总【持续更新中...】
  10. stm32f103+znfat+ch375+vs1003实现简单mp3播放器功能
  11. 2017年全球IDC、光器件、100G及400G数通模块市场预测
  12. 无器械健身锻炼全身肌肉的方法
  13. 如何制作一面智能镜子
  14. nyoj-239 月老的难题 (二分图匹配—匈牙利算法 网络流—Dinic算法)
  15. Pandas基础-利用python进行数据分析
  16. 【java】输入一个整数判断它是偶数还是奇数
  17. MySQL中的char和varcharmysql中varchar能存多少汉字、数字,以及varchar(100)和varchar(10)的区别
  18. 7-219 sdut-C语言实验-A+B for Input-Output Practice (不确定次数循环)7-220 sdut-C语言实验——两个数比较
  19. CF 666E 题解
  20. 汉语树库/CoNLL格式,依存句法分析语料

热门文章

  1. sncr脱硝技术流程图_SNCR脱硝工艺介绍.ppt
  2. 微机原理——指令系统——传送类指令(MOV、LEA、LDS、LES、LAHF、SAHF、XCHG、XLAT、PUSH、POP、PUSHF、POPF)
  3. tmail 5.0.1 X64 企业级邮件系统安装
  4. T端带配置文件的魔兽世界BOSS被杀世界公告
  5. 01背包+概率dp Just another Robbery 抢银行
  6. 【陈寿福案】珊瑚虫QQ侵权案民事判决书
  7. Communix操作系统发展简史
  8. www.wolframalpha.com
  9. ExcelVBA之更改文件路径
  10. 计算机一级空了一个大题,计算机一级填选空择题及答案.doc