在类中对应的属性名称采用驼峰命名法,这里是Springboot默认设置的配对方式吗?因为在yml文件中用了“-”分隔

是的,你的理解完全正确!在 Spring Boot 中:

YAML 配置文件中用短横线 - 分隔的属性名,默认会自动映射到 Java 类中 使用驼峰命名法(camelCase) 的字段。

这是 Spring Boot 默认内建的映射机制,不需要你额外配置。


✅ 举个实际例子:

application.yml
user:
  user-name: Alice
  user-age: 25
对应 Java 类字段:
@Component
@ConfigurationProperties(prefix = "user")
public class UserProperties {
    private String userName;
    private int userAge;

    // setter & getter 必须有,或者使用 Lombok 的 @Data/@Getter/@Setter
}

Spring Boot 会自动把:

  • user-nameuserName
  • user-ageuserAge

进行映射绑定。


✅ 为什么能自动映射?

Spring Boot 使用的是 Binder + RelaxedNames 策略进行属性绑定,支持以下格式自动适配驼峰命名:

yml 或 properties 格式映射到 Java 字段
my-property-namemyPropertyName
my_property_namemyPropertyName
MY_PROPERTY_NAMEmyPropertyName
my.property.name(prop)myPropertyName

这使得你在配置文件中可以自由使用短横线风格(符合 yml 规范),而 Java 类中仍使用标准驼峰命名。


❗ 注意:

  1. 绑定是通过字段名匹配的,不是通过 @Value("${xxx}") 的参数名。

  2. 只有 @ConfigurationProperties 支持松散绑定(Relaxed Binding)
    @Value 不支持自动驼峰转换,你得精确写路径,比如:

    @Value("${user.user-name}")
    

✅ 总结

配置项说明
yml 使用 -(短横线)推荐,用于分隔多个词
Java 使用驼峰命名推荐,符合 Java 命名规范
Spring Boot 自动映射机制✅ 会将短横线自动映射为驼峰字段
生效条件通过 @ConfigurationProperties 注解绑定类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值