Как избежать знаков доллара SpEL в конфигурации Spring YAML?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как избежать знаков доллара SpEL в конфигурации Spring YAML?

Сообщение Anonymous »

В файле конфигурации Spring YAML мне нужен такой параметр, как

Код: Выделить всё

csv:
file:
pattern: /some/path/${app-name}.csv
где ${app-name} динамически заменяется во время выполнения кодом Java, и я не хочу, чтобы Spring заменял его при запуске.
Чтобы добиться этого, мне нужно экранировать символ $, чтобы Spring не интерпретировал его как SpEL.
Следующие ответы действительны не работает в YAML:
  • Как избежать знаков доллара EL?
  • Экранирование ссылки на свойство в файле свойств Spring
  • Не удалось прочитать свойства, если они содержат символ доллара (${var}) p>
Я попробовал все комбинации, например

Код: Выделить всё

pattern: /some/path/\${app-name}.csv
pattern: "/some/path/\${app-name}.csv"
pattern: /some/path/#{'$'}{app-name}.csv
pattern: "/some/path/#{'$'}{app-name}.csv"
и ни один из них не создает переменную, содержащую запрошенную строку, со знаком доллара, но без escape-символов.
Обратите внимание, что это конфигурация YAML. В файлах YAML # — это символ комментария к строке, все, начиная с этого символа, игнорируется. И если я использую \#, \ затем передается в строку.
ДОБАВЛЕНО: с 25 июня открыта открытая проблема 9628 проекта Spring. 2008:

В настоящее время невозможно внедрить выражение ${...}, которое не будет обработано PropertyPlaceholderConfigurer. В идеале мы должны иметь возможность внедрить строку, содержащую ${...}, для последующего использования в целевом компоненте без участия PropertyPlaceholderConfigurer.


Подробнее здесь: https://stackoverflow.com/questions/479 ... figuration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»