@NestedConfigurationProperty注解使用场景

SpringBoot-2.1.13注解,@NestedConfigurationProperty的用处

@Configuration
@ConfigurationProperties(prefix = "urm")
public class SysRouteConfiguration {

    @NestedConfigurationProperty
    private List<SysRouteConfig> sysRouteConfig;

    public List<SysRouteConfig> getSysRouteConfig() {
        return sysRouteConfig;
    }

    public void setSysRouteConfig(List<SysRouteConfig> sysRouteConfig) {
        this.sysRouteConfig = sysRouteConfig;
    }
}

public class SysRouteConfig implements Serializable {

    //系统编号 唯一
    private String sysCode;

    //系统名称
    private String sysName;

    //esb配置对应的DM配置
    private String sysEsbNo;

    //系统在集中交易和融资融券配置的系统编码号
    private String sysMainNo;

    //对应ESB dp的地址
    private String sysEsbUrl;

    //是否默认系统 0 是 1非
    //所有的系统只能有一个默认
    private String isDefault = "1";

    //备注
    private String memo;
}

application.yml 

urm:
  sysRouteConfig[0]:
    sysCode: dm2
    sysName: xxx
    sysEsbNo: dm2
    sysEsbUrl: http://xxx.xxx.xxx.xxx:8880/xxx
    sysMainNo: 66
    isDefault: 0
  sysRouteConfig[1]:
    sysCode: dm1
    sysName: xxx
    sysEsbNo: dm1
    sysEsbUrl: http://xxx.xxx.xxx.xxx:8880/xxx
    sysMainNo: 68
    isDefault: 1
  sysRouteConfig[2]:
    sysCode: dm3
    sysName: xxx
    sysEsbNo: dm3
    sysEsbUrl: http://xxx.xxx.xxx.xxx:8880/xxx
    sysMainNo: 67
    isDefault: 1

 

查了一圈资料,大概理解为,当配置类的数据结构比较复杂时,比如说一层嵌套一层,或者有List,Map这种结构的,需要使用@NestedConfigurationProperty注解完成配置。

参考资料:https://xbuba.com/questions/36932509

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@NestedConfigurationProperty注解是Spring框架提供的一种注解,用于在@ConfigurationProperties注解中嵌套配置属性类。它的作用是将一个类中的属性作为另一个类的属性进行配置。 使用@NestedConfigurationProperty注解时,需要注意以下几点: 1. 该注解应该用于配置属性类中的嵌套属性。 2. 被注解的嵌套属性类需要提供getter和setter方法。 3. 嵌套属性类上还可以使用其他的@ConfigurationProperties注解,以便进行更复杂的配置。 与@ConfigurationProperties注解相比,@NestedConfigurationProperty注解主要用于解决嵌套属性类在使用@ConfigurationProperties注解时的问题。@ConfigurationProperties注解用于将外部配置文件中的属性值绑定到一个JavaBean对象上,而@NestedConfigurationProperty注解则用于在该JavaBean对象中嵌套其他的配置属性类。 @ConfigurationProperties注解可以将外部配置文件中的多个属性值绑定到一个JavaBean对象上,而@NestedConfigurationProperty注解则用于将一个JavaBean对象中的多个属性作为另一个JavaBean对象的属性进行配置。这样可以更好地组织和管理配置属性。 总结来说,@NestedConfigurationProperty注解用于在@ConfigurationProperties注解中嵌套配置属性类,而@ConfigurationProperties注解用于将外部配置文件中的属性值绑定到JavaBean对象上。它们可以一起使用,以便更好地组织和管理配置属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值