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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!