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

 更新时间:2025年11月21日 09:01:52   作者:愿心无迫  
本文主要介绍了Spring Boot中配置文件的多种使用方式,包括配置文件的命名、激活、路径指定以及优先级,并结合示例进行了详细说明

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

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

两种文件的格式:

​默认全局配置文件:

  • application.properties : k=v,或行内写法(k: v,[Set/List/数组] {map,对象类型的属性},并且 []可省,{}不能省)
  • application.yml : yaml ain't myarkup language ,不是一个标记文档

注意:

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

  • --spring.profiles.active=环境名

(2)命令行方式:

  • java -jar 项目名.jar --spring.profiles.active=环境名

ii:通过vm参数指定环境

  • STS(Eclipse) :Run Configuration - Argument - VM
  • -Dspring.profiles.active=环境名

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=文件路径

总结

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

相关文章

  • SpringMVC如何访问WEB-INF jsp过程解析

    SpringMVC如何访问WEB-INF jsp过程解析

    这篇文章主要介绍了SpringMVC如何访问WEB-INF jsp过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Java使用线程池批量处理数据操作具体流程

    Java使用线程池批量处理数据操作具体流程

    这篇文章主要给大家介绍了关于Java使用线程池批量处理数据操作的相关资料,Java多线程编程中线程池是一个非常重要的概念,线程池可以提高线程的复用率和任务调度的效率,尤其是当需要查询大批量数据时,需要的朋友可以参考下
    2023-06-06
  • Spring Data JPA实现查询结果返回map或自定义的实体类

    Spring Data JPA实现查询结果返回map或自定义的实体类

    这篇文章主要介绍了Spring Data JPA实现查询结果返回map或自定义的实体类,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java高效读大文件(csv,text)的几种处理方式

    java高效读大文件(csv,text)的几种处理方式

    这篇文章主要给大家介绍了关于java高效读大文件(csv,text)的几种处理方式,Java中处理大文件时,通常需要采取一些特定的策略来避免内存溢出或性能问题,文中通过代码及图片介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • 在SpringMVC框架下实现文件的上传和下载示例

    在SpringMVC框架下实现文件的上传和下载示例

    本篇文章主要介绍了在SpringMVC框架下实现文件的上传和下载示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • SpringMVC框架的介绍与使用详解

    SpringMVC框架的介绍与使用详解

    SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,跟Spring,Mybatis框架并称为ssm,这篇文章主要介绍了SpringMVC框架的介绍与使用,需要的朋友可以参考下
    2022-08-08
  • 解决Springboot get请求是参数过长的情况

    解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • maven在settings.xml和pom.xml中指定jdk版本编译的方法

    maven在settings.xml和pom.xml中指定jdk版本编译的方法

    在开发Java应用时,通常需要指定要使用的Java版本,下面这篇文章主要给大家介绍了关于maven在settings.xm和pom.xml中指定jdk版本编译的方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • springboot2.0以上调度器配置线程池的实现

    springboot2.0以上调度器配置线程池的实现

    这篇文章主要介绍了springboot2.0以上调度器配置线程池的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Java SE求解汉诺塔问题的示例代码

    Java SE求解汉诺塔问题的示例代码

    汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。本文将用Java SE求解这一问题,感兴趣的可以学习一下
    2022-03-03

最新评论