spring ConfigurationProperties后兼容性

时间:2018-04-04 16:09:50

标签: spring-boot

我有一个bean项目,其属性为 a.b.prefix1.property1 a.b.prefix2.property2 a.b.prefix3.property3 。所以我创建了属性类

@ConfigurationProperties("a.b")
public class MyBeanProperties {

  @NotNull
  private String prefix1Property1;

  @NotNull
  private String prefix2Property2;

  @NotNull
  private String prefix3Property3;
}

但它不适用于点,因为Relax Converter只能将属性转换为 prefix1-property1 prefix1_property1 prefix1Property1 样式。我无法改变我的财产状况。有没有什么方法可以扩展Relax Converter让Spring将我的旧属性读入这个类 MyBeanProperties

2 个答案:

答案 0 :(得分:0)

您可以放弃使用ConfigurationProperties并使用plain

public class public class MyBeanProperties {
    @Value("${a.b.prefix1.property1}")
    private String prefix1Property1;

    @Value("${a.b.prefix2.property2}")
    private String prefix2Property2;

}

答案 1 :(得分:0)

内部课程

@ConfigurationProperties("a.b")
public class MyBeanProperties {

  @NotNull @Valid
  private Prefix1 prefix1;

  public static class Prefix1 {
    @NotNull
    private Property1 property1;
  }

}