2015-06-09 5 views
1

Я бы хотел (если возможно) использовать @ConfigurationProperties для создания динамического размера списка POJO. Пожалуйста, советьте, возможно ли это. Моя идея была что-то вроде следующим образом (не-арг конструкторы/геттер/сеттеры опущена):Spring Boot and @ConfigurationProperties

Файл свойств:

my.item[0].prop1=a 
my.item[0].prop2=b 

my.item[1].prop1=a 
my.item[1].prop2=b 

И боб, который должен быть заполнен:

@Component 
@ConfigurationProperties(prefix = "my") 
public class ItemsConfig { 

    private List<Item> items; 

    public static class Item { 
     private String prop1; 
     private String prop2; 
    } 
} 

Unfortunatelly когда I @AutowireItemsConfig Список всегда null.

Может ли быть что-то подобное достигнуто с помощью @ConfigurationProeprties?

Я нашел обходной путь с BeanFactoryPostProcessor итерация свойствами и создает все вручную укусил его ужасный код :(

Пожалуйста, советы

PS: Я использую @EnableConfigurationProperties на моем @Configuration

Примечание: После того, как я решил, хотя люди могут счесть полезным понять, что аннотация должна быть найдена и обработана до того, как компонент с @ConfigurationProperties будет создан весной. боб не будет заселен.

ответ

3

Существует небольшая проблема с записями собственности, оно должно быть следующее:

my.items[0].prop1=a 
my.items[0].prop2=b 

my.items[1].prop1=a 
my.items[1].prop2=b 

Обратите внимание на items против item, чтобы соответствовать сеттер имя

+0

Может быть, просто :) Позвольте мне пытаться! –