Подтвердить что ты не робот

Каковы некоторые допустимые применения для spEL (Spring Expression Language)?

Я смотрел на язык выражения spring, и это кажется очень полезным, если вы используете для конфигурации xml файлов. Однако в справочных документах представлено множество примеров, в которых используется следующий код:

ExpressionParser parser = new SpelExpressionParser();

String name = parser.parseExpression

Когда и почему я буду использовать это, поскольку я могу сделать все это, используя обычную java. Я пропустил некоторые функции или другие возможности использования SpelExpressionParser? Существуют ли другие случаи использования spel, о которых я не знаю?

4b9b3361

Ответ 1

Вы можете использовать SpEL как упрощенную альтернативу отражению Java. Это уменьшает количество кода для вас.
Один из вариантов использования, который я имел в своей работе, - это сгладить граф глубоких объектов для пары имя-значение для целей индексирования и поиска.

График объектов может быть расширен нашими клиентами, и в этом случае дополнительные свойства также должны быть проиндексированы. Используя SpEL, клиентам нужно только писать выражения в некоторых файлах свойств, а код рамки заботится об извлечении новых данных.

Все варианты использования отражения Java также являются потенциальными прецедентами для SpEL с добавленной простотой и уменьшенным кодом.

Ответ 2

Чтобы оценить произвольные выражения во время выполнения в java, вам нужно будет использовать структуру компиляции, создать класс, скомпилировать его, загрузить, связать, выполнить,...

Языки выражений и/или скрипты устраняют много дополнительной работы, непосредственно не связанной с проблемой, которую вы пытаетесь решить. Какой EL имеет смысл использовать, зависит от нескольких факторов.