0

我希望能够使用我的列表中的一个值作为我的带有弹簧引导属性的地图的键。这可能吗?

我是 spring-boot 和使用 @ConfigurationProperties 的新手。我有一个如下的属性类

@Data
@ConfigurationProperties(prefix = "test")
public class TestProperties{
   private List<String> tableNames;
   private Map<String, String> fieldNames;
}

应用程序属性

test.table-names[0]=car.information.table

#I would like to do something like this but I get the following error:
#Can't use '[..]' navigation for property 'test.field-names.$(test.table-names' of type java.lang.String
test.field-names.${test.table-names[0]}=Id,Model,Make,Year

#I've a workaround like this for now:
test.field-names.car\.information\.table=Id,Model,Make,Year

是否可以引用列表值作为 application.properties 中另一个属性的键?

4

1 回答 1

0

您是否使用@PropertySource注释来使用.properties文件。

例如:

    @Configuration
    @ComponentScan(basePackages = "io.reactivestax")
    @PropertySource("database.properties")
    public class AppConfig {

    }
于 2021-12-08T17:08:20.453 回答