Свойства конфигурации пружины рекурсивный типJAVA

Программисты JAVA общаются здесь
Anonymous
Свойства конфигурации пружины рекурсивный тип

Сообщение Anonymous »

Я пытаюсь создать класс свойств конфигурации, который имеет рекурсивный класс, структурированный аналогичным образом связанного списка. Я использую Spring Boot 2.0.6.Release, и класс автоматически используется с помощью @enableconfigurationproperties ({inginealConfig.class}) < /code>. < /P>

Проблема, у которой у меня есть, состоит в том, что только один первый уровень будет связан с объектом тестирования, x.test < /code> никогда не будет зарегистрироваться. Следующее приложение.properties Файл: < /p>

engineal.x.value: "Test1"
engineal.x.test.value: "Test2"
engineal.x.test.test.value: "Test3"
< /code>

и следующие свойства конфигурации: < /p>

@ConfigurationProperties(prefix = "engineal")
public class EnginealConfig {

static class Test {

private String value;
private Test test;

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}

public Test getTest() {
return test;
}

public void setTest(Test test) {
this.test = test;
}

@Override
public String toString() {
return "Test{" +
"value='" + value + '\'' +
", test=" + test +
'}';
}
}

private Test x;

public Test getX() {
return x;
}

public void setX(Test x) {
this.x = x;
}

@Override
public String toString() {
return "EnginealConfig{" +
"x=" + x +
'}';
}
}
< /code>

Объект будет печатать innealconfig {x = test {value = 'test1', test = null}} < /code>. К сожалению, рекурсия не работает. Затем, используя списки с одним элементом, эта рекурсия работает. < /P>

Следующее приложение.engineal.x.value: "Test1"
engineal.x.test[0].value: "Test2"
engineal.x.test[0].test[0].value: "Test3"
< /code>

выведет enginealconfig {x = test {value = 'test1', test = [test {value = 'test2', test = [test {value = 'test3', test = null}]}]}} < /code>. Затем я могу получить доступ к следующему элементу, используя test.get (0) < /code>. < /P>

Таким образом, кажется, что рекурсия поддерживается только в том случае, если рекурсивный тип находится в коллекции. Должны ли/рекурсивные классы поддерживаться без необходимости коллекции? Спасибо за вашу помощь!

Подробнее здесь: https://stackoverflow.com/questions/529 ... rsive-type

Вернуться в «JAVA»