Я пытаюсь ввести такую карту из yml
redisDbIndex:
key1: 1
key2: 2
key3: 3
в
Map<String, String> map = new HashMap<>();
И в моем классе конфигурации (я не хочу использовать аннотацию @ConfigurationProperties(prefix = "..."), поскольку я уже знаю этот подход.
Я хочу знать, как сделать то же самое, используя аннотацию @Value("${placeholder}"). Это возможно? Если да, то как? Я просто изучаю внутренности. Было бы здорово, если бы кто-нибудь намекнул.
Я использую весеннюю загрузку 1.4.3.RELEASE (есть ли у нее такая функция?)
Конечно, это возможно. Ваши отступы правильные? У вас есть ошибки?
Это может быть полезным ответом, который вы ищете введите описание ссылки здесь
дааа, я получаю такую ошибку: java.lang.IllegalArgumentException: не удалось разрешить заполнитель 'redisDbIndex' в строковом значении "$ {redisDbIndex}". Сомнения: есть ли разница между @Value и @ConfigurationProperties в том, как они делают безопасные инъекции? Всегда ли @Value рассматривает строковые значения для вставки? Если я пытаюсь вставить список с помощью @Value, он работает, а карта - нет. Кроме того, существует ли стандарт для отступов. (Я использую 2 пробела в качестве отступа для пар ключ-значение)
@PospolitaNikita Я пробовал использовать заполнитель "# {$ {redisDbIndex}}", но он все равно не работает. В этом примере они используют синтаксис файла свойств. Я действительно сомневаюсь, что это может не повлиять на использование yml или файла свойств, но, по крайней мере, для меня это не работает.
Та же проблема на Spring Boot 2.4.4




Возможный дубликат Как вставить карту с помощью аннотации @Value Spring?