全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-18 6 分钟 ✍️ juanwangdev

SpringBoot配置文件properties与yml

SpringBoot 配置文件位于 src/main/resources/ 目录。

配置文件位置

文件名格式说明
application.properties键值对传统格式
application.ymlYAML层级格式,推荐

properties格式

properties
# application.properties
server.port=8080
server.servlet.context-path=/app
spring.application.name=demo
spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=root
spring.datasource.password=123456

yml格式

YAML
# application.yml
server:
  port: 8080
  servlet:
    context-path: /app

spring:
  application:
    name: demo
  datasource:
    url: jdbc:mysql://localhost:3306/db
    username: root
    password: 123456

格式对比

特性propertiesyml
层级结构
可读性一般
重复前缀
列表配置困难简单
注释符号##

yml语法规则

YAML
# 键值对
key: value

# 层级缩进(2空格)
parent:
  child: value

# 列表
list:
  - item1
  - item2

# 行内列表
list: [item1, item2]

# 行内对象
obj: {key1: v1, key2: v2}

# 多行字符串
text: |
  第一行
  第二行  

yml注意事项

yml 缩进必须使用空格,不能用Tab。

YAML
# ❌ 错误:Tab缩进
server:
	port: 8080    # Tab缩进会报错

# ✅ 正确:空格缩进
server:
  port: 8080    # 2空格缩进

读取配置值

Java
@RestController
public class ConfigController {

    @Value("${server.port}")
    private int port;

    @Value("${spring.application.name}")
    private String appName;

    @GetMapping("/config")
    public Map<String, Object> getConfig() {
        Map<String, Object> map = new HashMap<>();
        map.put("port", port);
        map.put("appName", appName);
        return map;
    }
}

配置文件优先级

SpringBoot 按以下顺序加载配置:

  1. 命令行参数
  2. 系统环境变量
  3. application.yml(外部)
  4. application.properties(外部)
  5. application.yml(内部)
  6. application.properties(内部)

后加载的配置会覆盖先加载的同名配置。

常用配置示例

YAML
# 服务配置
server:
  port: 8080

# 应用配置
spring:
  application:
    name: my-app

# 日志配置
logging:
  level:
    root: info
    com.example: debug
  file:
    name: logs/app.log

要点总结

  • yml层级清晰,推荐使用
  • 缩进必须用空格,不用Tab
  • @Value注解读取配置值
  • 命令行参数优先级最高

📝 发现内容有误?点击此处直接编辑

← 上一篇 SpringBoot自定义配置属性与@Value
下一篇 → SpringBoot Tomcat配置
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库