application.yml是Spring Boot应用的主配置文件,必须置于src/main/resources下,采用YAML格式,要求缩进用2空格、冒号后加空格、0开头数字需加单引号,支持嵌套结构、多环境profile及@ConfigurationProperties绑定。

Spring Boot 的核心配置文件 application.yml 放在 src/main/resources 目录下即可被自动加载,它是应用运行时行为的主配置来源,覆盖默认值、定义业务参数、适配不同环境都靠它。
application.yml 的基本位置和格式要求
必须放在项目资源根路径(src/main/resources)下,文件名严格为 application.yml(注意是小写,且是 .yml,不是 .yaml 或 .properties)。YAML 对缩进敏感,使用两个空格表示层级,不能用 Tab;冒号后必须加一个空格;以 0 开头的数字(如 0808)要加单引号,否则会被解析为八进制。
常用配置项示例与结构写法
YAML 天然支持嵌套结构,比 properties 更清晰。典型配置包括:
-
服务器相关:如
server.port: 8081、server.servlet.context-path: /api -
应用标识:如
spring.application.name: user-service -
数据源:缩进对齐很关键,例如:
spring:<br> datasource:<br> url: jdbc:mysql://localhost:3306/mydb<br> username: root<br> password: '123456'
-
日志级别:如
logging.level.com.example: DEBUG -
自定义参数:支持对象、列表等,例如:
app:<br> timeout-ms: 5000<br> features:<br> - login<br> - pay
多环境配置与 profile 切换
通过 spring.profiles.active 指定当前生效的 profile,比如设为 dev,则会同时加载 application.yml 和 application-dev.yml,后者中同名配置会覆盖前者。
立即学习“Java免费学习笔记(深入)”;
- 在
application.yml中启用 profile:spring:<br> profiles:<br> active: dev
- 环境专属配置单独写在
application-dev.yml、application-prod.yml等文件中 - 启动时也可通过命令行指定:
--spring.profiles.active=prod
配置读取与绑定到 Java 类
配置写完后,需在代码中使用才能生效:
- 用
@Value("${app.timeout-ms}")注入单个值(适合简单场景) - 推荐用
@ConfigurationProperties(prefix = "app")绑定整个配置块到 POJO 类,需搭配@Component或@EnableConfigurationProperties - 若希望 IDE 提供自动补全,添加依赖:
<dependency><br> <groupId>org.springframework.boot</groupId><br> <artifactId>spring-boot-configuration-processor</artifactId><br> <optional>true</optional><br></dependency>


















