SpringBoot中application.properties、application.yaml、application.yml区别
YAML是一种编写配置文件的语法,表现为使用.yml作为扩展名的配置文件,Spring框架默认并不支持此类配置文件,而Spring Boot的基础依赖项中已经包含解析此类文件的依赖项,所以,在Spring Boot项目可以直接使用此类配置文件。
在Springboot项目中,使用.properties和.yml配置是等效的,均可以正常识别并使用.
这三者都是Spring Boot中用来配置应用程序的文件格式。它们之间的区别在于文件格式和扩展名,以及在Spring Boot应用程序中的使用习惯。
application.properties:
这是最常见的配置文件格式,采用键值对的形式配置属性。
样例:
server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
application.yaml:
这是YAML格式的配置文件,相比于.properties文件,它更加结构化,可读性更强。
样例:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase
application.yml:
这与.application.yaml文件完全相同,只是采用了不同的文件扩展名。在某些系统中,.yml扩展名可能更常见。
样例:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase当你在一个Spring Boot应用程序中使用这些配置文件时,通常会有一定的加载顺序和优先级:
application.properties 和 application.yaml 在同一目录下,优先级相同。如果两者都存在,application.properties 的配置会覆盖 application.yaml 的配置。
如果你希望在不同的环境中使用不同的配置,可以创建特定于环境的配置文件,如 application-{profile}.properties 或 application-{profile}.yaml,其中 {profile} 是你指定的环境配置,如 dev、prod 等。
在Spring Boot中,还可以通过命令行参数、环境变量、JNDI(Java Naming and Directory Interface)等方式来配置应用程序。这些配置方式的优先级通常比配置文件更高。
Properties与YML配置文件的区别
- YML文件以数据为中心,对于数据的支持和展现非常友好。
- Properties文件对格式的要求没那么严格,而YML文件以空格的缩进来控制层级关系,对格式的要求比较高,缩进格式不对时容易出错。
- Properties文件支持@PropertySource注解,而YML文件不支持。
- YML文件支持多文档块的使用方式,使用起来非常灵活。
- Properties配置的优先级高于YML文件。因为YML文件的加载顺序先于Properties文件,如果两个文件存在相同的配置,后面加载的Properties中的配置会覆盖前面YML中的配置。
到此这篇关于SpringBoot中application.properties、application.yaml、application.yml区别的文章就介绍到这了,更多相关SpringBoot application.properties、application.yaml、application.yml内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot + validation 接口参数校验的思路详解
这篇文章主要介绍了SpringBoot + validation 接口参数校验,本文通过项目实践+场景分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-10
springboot结合mybatis-plus基于session模拟短信注册功能
本文主要介绍了springboot结合mybatis-plus基于session模拟短信注册功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-11-11
Spring Boot自定义Starter组件开发实现配置过程
SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进 starter,应用者只需要在maven中引入starter依赖,这篇文章主要介绍了Spring Boot自定义Starter组件开发实现,需要的朋友可以参考下2022-06-06
一文带你掌握Java8中Lambda表达式 函数式接口及方法构造器数组的引用
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等2021-10-10


最新评论