Я использую Spring Boot 1.5.15 , и у меня возникают проблемы при чтении компонента, помеченного аннотацией @ConfigurationProperties
.
Подробно, я пытаюсь используйте следующий bean-компонент.
@ConfigurationProperties(prefix = "permissions")
public class Permissions {
private List<String> permissions;
private Set<String> permissionsSet;
public List<String> getPermissions() {
return this.permissions;
}
public void setPermissions(List<String> permissions) {
this.permissionsSet = new HashSet<>(permissions)
this.permissions = permissions;
}
// Other code
}
Соответствующий application.yml
следующий:
permissions:
permissions:
- ROLE_1
- ROLE_2
Проблема, с которой я сталкиваюсь, состоит в том, что элемент permissionsSet
всегда пуст. Я отладил приложение и обнаружил, что Spring использует следующий рабочий процесс для создания bean-компонента.
- Вызов конструктора по умолчанию
- Вызов сеттера с пустым списком
- Инъекция правильного значения для списка после вызова установщика.
Это правильное поведение? Я пытаюсь найти ссылку в документации, но ничего не могу найти.
Есть ли способ решить эту проблему?
Большое спасибо.