java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Springboot application.properties或application.yml环境指定运行与配置

Springboot的application.properties或application.yml环境的指定运行与配置方式

作者:愿心无迫

本文主要介绍了Spring Boot中配置文件的多种使用方式,包括配置文件的命名、激活、路径指定以及优先级,并结合示例进行了详细说明

1.关于多个配置环境的指定运行

我们在主配置文件编写的时候,文件名可以是:application-{profile}.properties/yml

两种文件的格式:

​默认全局配置文件:

注意:

1. k:空格v 2.通过垂直对齐 指定层次关系 3.默认可以不写引号; ""会将其中的转义符进行转义,其他不会

一般分为开发、测试、运行,命名要求要规范,下图有详细示例

1.1多个properties

默认使用application.properties的配置

目录可以如下:

​如果要选择某一个具体的环境: application.properties中指定:spring.profiles.active=环境名

如果将application.properties注释掉,spring boot仍然会读取其他appilcation-环境名.properties中的配置。并且properties的优先级高于yml

1.2yml支持多文档块方式

通过—将文档分成多文档块:

注意格式首行同则相当于在同一目录

server:
  port: 8081
spring:
  profiles:
    active: prod
#文档块一
---
server:
  port: 8083
spring:
  profiles: dev
#文档块二
---
server:
  port: 8084
spring:
  profiles: prod  #指定属于哪个环境
#文档块三

1.3激活指定profile

配置文件中指定

使用spring.profiles.active激活指定profile

1.3.1 application.properties

1.3.2 application.yml

通过dev或prod指定当前运行的环境

​程序参数指定

程序参数中添加–spring.profiles.acprotive激活指定profile

虚拟机参数指定

在VM options中添加-Dspring.profiles.active=dev

1.4 动态切换环境总结

​ i:通过运行参数指定环境

(1)STS(Eclipse) :Run Configuration - Argument - program Argument

(2)命令行方式:

ii:通过vm参数指定环境

2.关于配置文件路径的读取顺序

–file:./config/

–file:./

–classpath:/config/

–classpath:/

优先级由高到底,高优先级的配置会覆盖低优先级的配置

SpringBoot会从这四个位置全部加载主配置文件,互补配置

最终读取文件运行情况:

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;(SpringBoot2.0版本之后指定文件与默认配置不会形成互补配置,只是指定文件中的配置生效)

java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –spring.config.location=文件路径

总结

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

您可能感兴趣的文章:
阅读全文