Список переменных Spring EL? - PullRequest
       52

Список переменных Spring EL?

7 голосов
/ 25 октября 2011

Spring EL поддерживает несколько предопределенных переменных

  • {#systemProperties. ... }
  • {#systemEnvironment. ... }
  • {#request. ...}
  • {#session. ...}

Первые два раза документированы в Ссылка на Spring: глава 6. Язык выражений Spring (SpEL) . Два других не упоминаются в Spring Reference (или я их не нашел) (я нашел их в этом слайдах , а также в его использовании в spring social и в этом вопрос ).

Итак, мой вопрос: есть ли более или менее полный список предопределенных переменных Spring-El?

Я полагаю, что некоторые из этих предопределенных переменных определяются не самим ядром Spring, а "активацией" некоторых модулей, таких как spring-mvc. Поэтому меня интересуют переменные , доступные в более или менее распространенном приложении безопасности + jpa + mvc + .

Ответы [ 2 ]

8 голосов
/ 19 января 2012

Я также заметил, что environment разрешается в текущий экземпляр org.springframework.core.env.Environment. Я не уверен, что это документированная функция, но я искал краткий способ сделать следующее в моем @Configuration классе:

@Value("#{environment.acceptsProfiles('test')}")
private boolean test;

Что затем позволяет мне отключить это значение в дальнейших определениях бинов.

Я отправил следующую JIRA для решения этой проблемы:

https://jira.springsource.org/browse/SPR-9037

5 голосов
/ 25 октября 2011

Я не могу ответить на ваш корневой вопрос, но могу дать вам подсказку.

Есть несколько предопределенных bean-компонентов, зарегистрированных при запуске контекста вашего приложения, но которые зависят от типа используемого вами контекста.

Обычно присутствуют systemProperties и systemEnvironment.Загружая Spring в веб-приложение, вы также получите servletContext, contextParameters и contextAttributes.Я предполагаю, что request и session также связаны с контекстом веб-приложения.

Я обнаружил это во время отладки моего приложения, которое использует Spring 3.0.6RELEASE.Хорошей отправной точкой является метод SpringBeanELResolver.getValue ().

...