Я смог решить, используя
Вы можете использовать синтаксис, подобный SPEL json, чтобы написать простую карту или карту списка в файле свойств.
simple.map={'KEY1': 'value1', 'KEY2': 'value3', 'KEY3': 'value5'}
map.of.list={\
'KEY1': {'value1','value2'}, \
'KEY2': {'value3','value4'}, \
'KEY3': {'value5'} \
}
I Используемое \ для многострочного свойства для улучшения читабельности
Затем в Java вы можете автоматически обращаться к нему и анализировать его с помощью @Value следующим образом.
@Value("#{${simple.map}}")
Map<String, String> simpleMap;
@Value("#{${map.of.list}}")
Map<String, List<String>> mapOfList;
Здесь с ${simple.map}, @Value
получаем следующая строка из файла свойств:
"{'KEY1': 'value1', 'KEY2': 'value3', 'KEY3': 'value5'}"
Затем она оценивается, как если бы она была встроенной
@Value("#{{'KEY1': 'value1', 'KEY2': 'value3', 'KEY3': 'value5'}}")
Подробнее об этом можно узнать из официальной документации
I реализовано
soap.all.endpoints={\
getEmployeeRoles: {'ABC', 'EFG'}, \
getStudentRoles: {'PQR', 'XYZ'} \
}
Код для того же.
@Value("#{${soap.all.endpoints}}")
private Map<String, List<String>> roles;