2013-06-03 2 views
0

Spring (3,1): Учитывая свойство файла с несколькими значения строки (конечно реальное значение гораздо больше):Spring @value с multimine свойств файла значение

requestStatuses=select sysdate \ 
from dual 

Я настроил Весна, как описано :

<util:properties id="sql_lookup_data_repo" 
    location="classpath:sql_lookup_data_repo.properties"/> 

И используется, как описано:

@Value("#{sql_lookup_data_repo.requestStatuses}") 
    public void setRequestStatuses(String requestStatuses) { 
    this.requestStatuses = requestStatuses; 
    } 

на первый взгляд, кажется, б e working BUT только первая строка значения свойства считывается.

Когда начинается весна, он правильно считывает файл (отлаживается). Кажется, что он потерян при оценке выражения SpEL.

Возможно ли использовать эту весеннюю функциональность с значениями свойств файла с несколькими строками и как?

Уже проверено:

+0

Я могу использовать многострочное значение свойства в нескольких местах без каких-либо проблем (линии, конечно, объединены). Просьба описать точный сценарий отказа. –

ответ

1

Решение:

Мульти свойства линии необходимо иметь обратную косую черту в конце каждой строки.

Но если у вас есть пространство (невидимое!) После обратной косой черты (перед новой строкой) оценка остановится в этом пункте.

(Я извиняюсь, но я не мог сделать невидимые символы видны здесь :), так что я не мог представить пример)

Внимание: это больше о ненадлежащем использовании файлов свойств Java! вы можете столкнуться с этой проблемой, не используя функцию @Value Spring (обычная Properties.load()).

+0

Это вряд ли проблема с Spring - это файл с неверными форматами. –

+0

Продолжение линии должно заканчиваться на \ –

+0

Согласен. Это просто сложно найти, потому что это все о невидимых персонажах. – takacsot

0

Это прекрасно работает для меня ...

lines=foo \ 
bar \ 
baz 

.

@Value("#{fooprops.lines}") 
public void setMultiLine(String lines) { 
    System.out.println(lines); 
} 

.

foo bar baz 
+0

Невероятно: сегодня он отлично работает. Это может быть просто перезагрузка компьютера или чистая компиляция. Я не знаю. Большое спасибо. – takacsot

Смежные вопросы