在 Spring Boot 中,支持多种类型的属性配置文件,用于配置应用程序的各种参数。这些文件的主要作用是集中管理应用的配置信息,避免硬编码,方便在不同环境(开发、测试、生产等)中切换配置。
常见的属性文件类型及作用如下:
-
application.properties
最基础的属性配置文件,采用键值对(key=value)格式
用于配置应用的基本参数,如服务器端口、数据库连接信息等
示例:server.port=8080 - application.yml(或 application.yaml)
- 采用 YAML 格式的配置文件,结构清晰,支持层级关系
- 功能与 properties 文件一致,但格式更易读,尤其适合复杂配置
示例:
server:
port: 8080
- 特定环境的配置文件
- 命名格式:application-{profile}.properties 或 application-{profile}.yml
- 用于不同环境的配置隔离,如开发、测试、生产环境
- 示例:application-dev.yml(开发环境)、application-prod.yml(生产环境)
- bootstrap.properties 或 bootstrap.yml
- 启动优先级高于 application 系列文件
- 主要用于加载外部配置(如配置中心的地址)、加密 / 解密配置等
- 常与 Spring Cloud 结合使用,用于服务启动初期的基础配置
- 自定义属性文件
- 可以通过@PropertySource注解加载自定义命名的属性文件
- 用于分离不同模块的配置,使配置更有条理
- 示例:@PropertySource("classpath:user.properties")
这些配置文件的加载顺序有优先级区分,通常:
- bootstrap 文件优先于 application 文件
- 特定环境配置文件会覆盖默认配置文件中的相同配置
- 命令行参数可以覆盖配置文件中的配置
通过这些属性文件,开发者可以灵活配置数据源、日志级别、缓存设置、第三方服务密钥等各种应用参数,实现应用的可配置性和环境适应性。