Как переопределить одно поле свойства в элементе коллекции, используя свойства профиля весной? - PullRequest
0 голосов
/ 25 марта 2020

У меня есть конфигурация, которая содержит список классов вложенных элементов, подобных этому

@ConfigurationProperties(prefix="my")
@Data
class MyConfig{

   ////some fields

   private List<InnerElement> inner;
}

И у внутренней есть некоторые свойства

@Data
class InnerElement{
    private String prop1;
    private String prop2;
    private String prop3;
}

application.properties содержит примеры значений по умолчанию, таких как

my.inner[0].prop1=SomeA;
my.inner[0].prop2=SomeB;
my.inner[0].prop3=SomeC;

Пока все работает отлично. Однако мне нужно изменить только один элемент вложенного объекта в массиве, используя профиль, поэтому application-myprofile.properties выглядит как

my.inner[0].prop2=MY CUSTOM VALUE HERE

, но это не сработало с сообщением о том, что prop1 и prop2 остаются несвязанными.

Как избавиться от этой ошибки и сделать элемент 0 из inner переопределенным значением prop2 ?? Я ожидаю, что inner[0] будет иметь

prop1=SomeA
prop2=MY CUSTOM VALUE HERE
prop3=SomeC

PS. Я хотел бы избежать переопределения всего элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...