这三者都是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)等方式来配置应用程序。这些配置方式的优先级通常比配置文件更高。