Как я могу выразить список или массив объектов в yaml через заполнитель Spring? - PullRequest
0 голосов
/ 02 ноября 2018

Я знаю, что вы можете переопределить значения конфигурации yaml с помощью заполнителей следующим образом:

some-setting: ${SOME_SETTING:default value}

И я знаю, что вы можете выражать списки объектов примерно так:

customers:
  - name: acme
    category: manufacturing
    employees: 200 
  - name: virtucon
    category: evil
    employees: 1

Итак, как бы я выразил такой список через нотацию заполнителя $ {}?

1 Ответ

0 голосов
/ 03 ноября 2018

Вам нужно будет создать ConfigurationProperties для чтения в объектах свойств.

@Component
@ConfigurationProperties("app")
public class AppProperties {

    private List<Customer> customers = new ArrayList<>();

    public static class Customer {
        private String name;
        private String category;
        private int employees;
    }
}

Обычно вы также создаете префикс для этого в вашем .yml файле также

app:
   customers:
   - name: acme
     category: manufacturing
     employees: 200
   - name: virtucon
     category: evil
     employees: 1 

Теперь вы можете автоматически подключать этот класс в любом месте вашего приложения.

...