2016-02-28 2 views
1

У меня есть выражение SpEL, которое генерирует список SpEL. (Тип результата на самом деле является массивом Java, но не имеет смысла.)Могу ли я создать компонент из выражения SpEL напрямую?

Я хочу «продвигать» результат выражения моего SpEL в bean-компоненте в конфигурационном файле Spring Spring beans. Один из способов сделать это, что работает, чтобы построить ArrayList фасоль и поставить массив как constructor-arg например так:

<bean name="myList" class="java.util.ArrayList"> 
    <constructor-arg value="#{ my SpEL expression here }"/> 
</bean> 

Это кажется немного громоздким для меня. Есть ли один-лайнер, который делает то же самое, и позволяет мне помещать массив непосредственно в bean-компонент без необходимости обертывать его в недавно созданный bean-компонент ArrayList?

Если нет, существует ли синтаксис синтаксиса или уборщика для выполнения того, что я делаю сейчас?

ответ

1

Ну, тот же вопрос, я с определением бина для всего java.lang.String:

<bean id="myString" class="java.lang.String"> 
    <constructor-arg value="foo"/> 
</bean> 

И я живу с этим уже в течение длительного времени. Так просто попытаться взломать и не выполнять настоящую работу :-).

Как насчет попробовать это:

<util:list id="myList"> 
    <value>#{ my SpEL expression here }</value> 
</util:list> 

С другой стороны, вы можете просто пойти в JavaConfig и быть свободным от этого XML костылей. Вы должны понимать, что определение XML немного ограничено границами языка XML и прощает ему некоторые неудобства.

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

  • Нет связанных вопросов^_^