当前位置: 首页 > news >正文

SpringBoot 2 配置文件 2.4 多环境配置

SpringBoot

【黑马程序员2022新版SSM框架教程_Spring+SpringMVC+Maven高级+SpringBoot+MyBatisPlus企业实用开发技术】

2 配置文件

文章目录

      • SpringBoot
      • 2 配置文件
        • 2.4 多环境配置
          • 2.4.1 yaml 文件
          • 2.4.2 properties 文件
          • 2.4.3 命令行启动参数配置

2.4 多环境配置

在这里插入图片描述

之前在Maven 高级中学过如何通过配置多种环境的设定,帮助开发者在使用过程中快速切换环境

在这里插入图片描述

而 SpringBoot 给开发者提供了多环境的快捷配置,需要切换环境时只需要改一个配置即可。

但是【不同类型的配置文件多环境开发的配置都不相同】

2.4.1 yaml 文件

在 application.yml 中使用 — 来分割不同的配置

# 开发
spring:
  profiles: dev # 给开发环境起的名字
server:
  port: 80
  
---

# 生产
spring:
  profiles: pro # 给生产环境起的名字
server:
  port: 81

---

# 测试
spring:
  profiles: test # 给测试环境起的名字
server:
  port: 82

---

在这里插入图片描述

配置中 spring.profiles 是用来给不同的配置起名字的。

启用某一段配置

在这里插入图片描述

在这里插入图片描述

那老师您讲他干啥…

2.4.2 properties 文件

properties 类型的配置文件配置多环境需要定义不同的配置文件

【application-dev.properties 是开发环境的配置文件。】

【application-test.properties 是测试环境的配置文件。】

【application-pro.properties 是生产环境的配置文件。】

在这里插入图片描述

SpringBoot 只会默认加载名为 application.properties 的配置文件,所以需要在 application.properties 配置文件中设置启用哪个配置文件

2.4.3 命令行启动参数配置

使用 SpringBoot 开发的程序以后都是打成 jar 包,通过 java -jar xxx.jar 的方式启动服务的。

那么就存在一个问题,如何切换环境呢?因为配置文件都打倒 jar包中了。

jar 包其实就是一个压缩包,可以解压缩,然后修改配置,最后再打成jar包就可以了。

【很明显…麻烦】

SpringBoot 提供了在运行 jar 时设置开启指定的环境的方式

同时设置多个配置,即指定启用哪个环境配置,又临时指定端口

java –jar springboot.jar –-server.port=88 –-spring.profiles.active=test

命令行中设置的端口号优先级是更高的。

SpringBoot官网:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config

在这里插入图片描述

如果使用了多种方式配合同一个配置项,优先级高的生效。

相关文章:

  • JavaWeb编年史(远古时期)
  • 【Spring】面向切面编程详解(AOP)
  • 第四课 ceph基础学习-RGW高可用集群和集群测试
  • 幼儿园小程序实战开发教程
  • JavaScript基础总结---重点
  • HashMap和Hashtable(全网最详细)
  • 【趣学算法】Day1 算法简介+斐波那契数列
  • JDK 9-17 新特性介绍
  • 力扣 每日一题 902. 最大为 N 的数字组合【难度:困难,rating: 1989】(数学 / 数位dp)
  • 【微信小程序】电商移动前端API文档
  • 基于FPGA的远程升级系统概述
  • 适用于非科班的深度学习/机器学习快速上手路线
  • 【Python 之 Bluebridge Cup】day_007(涉VIP题,目前没有权限提交,需再提交):阶乘计算(高精度) || 高精度加法
  • 3、初识MySQL
  • Spring事务及分布式事务专题
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • angular2开源库收集
  • Django 博客开发教程 8 - 博客文章详情页
  • Hibernate最全面试题
  • Python进阶细节
  • socket.io+express实现聊天室的思考(三)
  • spring-boot List转Page
  • vue.js框架原理浅析
  • windows下mongoDB的环境配置
  • yii2权限控制rbac之rule详细讲解
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 关于 Cirru Editor 存储格式
  • 记一次和乔布斯合作最难忘的经历
  • 跨域
  • 使用common-codec进行md5加密
  • 手写一个CommonJS打包工具(一)
  • 微信小程序开发问题汇总
  • 一起参Ember.js讨论、问答社区。
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​什么是bug?bug的源头在哪里?
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (1) caustics\
  • (4)Elastix图像配准:3D图像
  • (C语言)球球大作战
  • (NSDate) 时间 (time )比较
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (理论篇)httpmoudle和httphandler一览
  • (区间dp) (经典例题) 石子合并
  • (十) 初识 Docker file
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)u-boot-nand.bin的下载