Свойство Spring @Value неправильно читает вложенные свойства YAML - PullRequest
1 голос
/ 24 апреля 2020

У меня есть простое свойство policy.statement YAML, которое я хочу прочитать из файла конфигурации java, используя аннотации @PropertySource и @Value. Если я использую только @Value ($ {Statement}), он выглядит нормально, но если я использую @Value ($ {policy.statement}), если не могу найти. И в файле YAML я использую policy: [enter] Statement: value. Почему @Value не работает, если я использую $ {property1.property2}, но только если я использую только $ {property2}? Это не имеет смысла. Ссылка для печати и источника прилагается. enter image description here

полный проект в ветви «Сомнение» по ссылке проекта: https://github.com/danielpm1982/springboot2-health-record/tree/doubt

1 Ответ

1 голос
/ 26 апреля 2020

[решено] Нельзя использовать PropertySource или PropertySources Spring Annotation с пользовательскими именованными файлами yaml ... только с текстовыми файлами .properties. Поэтому, чтобы решить проблему, вместо использования именованных файлов .yaml мне пришлось использовать файл по умолчанию с именем application.yaml. Таким образом, нет необходимости использовать PropertySource для файла .yaml (только для файлов .properties), и все это работало нормально, включая различный выбор профиля моих свойств файла yaml в соответствии с профилем, установленным в application.properties.

Благодаря Deadpool: { ссылка }

Полный проект доступен в основной ветке ссылки проекта: https://github.com/danielpm1982/springboot2-health-record

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...