在正式项目中一般都会区分多个环境,一般至少分为开发环境,测试生产环境,生产环境,实际可能会有更加精细的区分,针对不同的环境,项目的配置可能需要切换,spring boot 提供了很方便的环境切换方式。

1.编写多个配置文件,命名方式为application-{profile}.yml,并在application.yml 中指定当前使用的profile。

在项目中新建application-dev.yml 和 application-prod.yml 分别对应开发环境和生产环境,然后再application.yml中指定使用哪个profile。

applicatiom-dev.yml

server:
port: 8888

application-prod.yml

server:
port: 80

在application.yml 指定使用生产环境

spring:
profiles:
active: prod

则系统以80端口启动

如果将application.yml中指定当前profile为dev

spring:
profiles:
active: dev

则系统以8888端口启动

2.如果不想编写多个配置文件,yml文件还支持多文档块模式,模块之间用---隔开。

比如在application.yml中分别定义 dev 块和prod块,并指定当前启动环境

spring:
profiles:
active: prod ---
spring:
profiles: dev
server:
port: 8081 ---
spring:
profiles: prod
server:
port: 8082

切换当前生效的文档块名称,可以从不同端口启动

3.激活profile的方式

(1)通过spring.profiles.active 来指定

(2)在项目启动的时候指定

java -jar xxxxx.jar --spring.profiles.active=dev

(3)设置虚拟参数。

在STS(Eclipse)的run-->run Configurations 设置运行参数

spring boot-6.profile 多环境支持的更多相关文章

  1. Spring Boot 之 Profile --快速搞定多环境使用与切换

    Spring Profile是Spring3引入的概念,主要用在项目多环境运行的情况下,通过激活方式实现多环境切换,省去多环境切换时配置参数和文件的修改,并且Spring profile提供了多种激活 ...

  2. Spring boot 的profile功能如何实现多环境配置自动切换

    通常服务端应用开发需要经过以下几个流程: 开发 -> 测试 -> RC验证 -> 上线 这就涉及到四个不同的环境,开发环境.测试环境.RC环境以及生产环境,为了避免不同环境之间相互干 ...

  3. [Spring Boot 系列] 集成maven和Spring boot的profile功能

    由于项目的需要, 今天给spirng boot项目添加了profile功能.再网上搜索了一圈,也没有找到满意的参考资料,其实配置并不难,就是没有一个one stop(一站式)讲解的地方,所以有了写这篇 ...

  4. 集成maven和Spring boot的profile 专题

    maven中配置profile节点: <project> .... <profiles> <profile> <!-- 生产环境 --> <id& ...

  5. 004-集成maven和Spring boot的profile功能打包

    参考地址:https://blog.csdn.net/lihe2008125/article/details/50443491 一.主要目标 1.通过mvn在命令行中打包时,可以指定相应的profil ...

  6. [Spring Boot 系列] 集成maven和Spring boot的profile 专题

    maven中配置profile节点: <project> .... <profiles> <profile> <!-- 生产环境 --> <id& ...

  7. 集成maven和Spring boot的profile

    如果在配置中勾选了多套配置,则以pom.xml文件中 profiles中  配置 最后一个配置为准. maven中配置profile节点: <project> .... <profi ...

  8. springboot多环境部署(profile多环境支持)

    springboot多环境部署(profile多环境支持) 背景   项目开发过程中会有开发环境(dev),测试环境(test)和生产环境(prod),不同的环境需要配置不同的配置,profile提供 ...

  9. spring boot: @EnableScheduling开启计划任务支持,@Scheduled计划任务声明

    spring boot: @EnableScheduling开启计划任务支持, @Scheduled计划任务声明 package ch2.scheduler2; //日期转换方式 import jav ...

随机推荐

  1. 【leetcode】740. Delete and Earn

    题目如下: Given an array nums of integers, you can perform operations on the array. In each operation, y ...

  2. 19.tcp_upd

    # socket编程 # 01010 ethernet(你在教室的那个位置)mark ip(教室在哪,主机)子网 tcp,udp(端口)应用程序在哪 # 物理层---->数据链路层------- ...

  3. 洛谷 P2473 [SCOI2008]奖励关 ( 期望DP )

    题目链接 题意 : 中文题.点链接 分析 : 第一道有关概率期望的DP 有个大部分情况下通用的结论 概率正推.期望反推 原因不明.其实是没有查到较好的解释 这题由于有一些取物品的先决条件在这里 而且观 ...

  4. javascript中继承方式及优缺点(二)

    一.原型链继承 方式1: 原型链继承 (1)流程: ​ 1.定义父类型构造函数. ​ 2.给父类型的原型添加方法. ​ 3.定义子类型的构造函数. ​ 4.创建父类型的对象赋值给子类型的原型. ​ 5 ...

  5. 51 Nod Bash 游戏v2

    1067 Bash游戏 V2  基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  取消关注 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次只能拿1,3 ...

  6. 2018 计蒜之道-初赛 第一场 A-百度无人车

    百度一共制造了 nn 辆无人车,其中第 ii 辆车的重量为 a_i\ \mathrm{kg}ai​ kg. 由于车辆过重会增大轮胎的磨损程度,现在要给这 nn 辆车减轻重量.每将一辆车减轻 1\ \m ...

  7. A. Even Substrings

    A. Even Substrings time limit per test 0.5 seconds memory limit per test 256 megabytes input standar ...

  8. 拉格朗日插值法板子(dls)

    namespace polysum { ; ll a[D],f[D],g[D],p[D],p1[D],p2[D],b[D],h[D][],C[D]; ll calcn(int d,ll *a,ll n ...

  9. Python列表解析和字典解析

    python笔记_列表解析 相比于for循环,列表解析的语法是由底层c语言实现的,它和使用for循环遍历pyobject对象相比,性能会有很大的提升. 无条件子句的列表解析式 In [2]: [2*i ...

  10. Java面试题收集(二)

    四.Redis简介 redis为什么这么快 4.1 Redis数据类型 String hash 字典,适用于存储对象 list 安照String元素插入顺序排序,最新插入的最先显示.如热点数据 set ...