У меня есть конфигурация, которая содержит список классов вложенных элементов, подобных этому
@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. Я хотел бы избежать переопределения всего элемента.