You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring @NestedConfigurationProperty使用确认及配置前缀修改方法

Spring Boot配置属性相关问题解答

示例代码

@ConfigurationProperties
public class Config {
  @NestedConfigurationProperty Foo foo;
}

疑问1:若Foo类并非Config的内部类,是否必须使用@NestedConfigurationProperty注解?

不是必须的。@NestedConfigurationProperty注解主要是给IDE提供配置元数据支持,让IDE能识别这是嵌套属性,编写配置文件时给出对应提示。实际运行时,只要Foo类符合JavaBean规范(有对应的getter/setter方法),就算它不是Config的内部类,不加这个注解也能正常解析嵌套配置。

疑问2:如何将配置前缀从foo改为bar?

有两种简单实现方式:

  • 直接修改字段名:把Config类里的foo字段改成bar,配置文件即可用bar.prop1=xxx来配置,Spring Boot会自动将字段名作为嵌套属性前缀。修改后代码如下:
    @ConfigurationProperties
    public class Config {
      Foo bar;
    }
    
  • 用@JsonProperty注解映射:如果不想改字段名,可在foo字段上添加@JsonProperty("bar")注解,指定配置文件中对应的前缀为bar。代码示例:
    @ConfigurationProperties
    public class Config {
      @JsonProperty("bar")
      Foo foo;
    }
    

内容的提问来源于stack exchange,提问作者morpheus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:07:05