Class StandardBeanExpressionResolver

java.lang.Object
org.springframework.context.expression.StandardBeanExpressionResolver
All Implemented Interfaces:
BeanExpressionResolver

public class StandardBeanExpressionResolver extends Object implements BeanExpressionResolver
Standard implementation of the BeanExpressionResolver interface, parsing and evaluating Spring EL using Spring's expression module.

All beans in the containing BeanFactory are made available as predefined variables with their common bean name, including standard context beans such as "environment", "systemProperties" and "systemEnvironment".

Since:
3.0
Author:
Juergen Hoeller, Sam Brannen
See Also:
  • Field Details

  • Constructor Details

    • StandardBeanExpressionResolver

      public StandardBeanExpressionResolver()
      Create a new StandardBeanExpressionResolver with default settings.

      As of Spring Framework 6.1.3, the maximum SpEL expression length can be configured via the MAX_SPEL_EXPRESSION_LENGTH_PROPERTY_NAME property.

    • StandardBeanExpressionResolver

      public StandardBeanExpressionResolver(@Nullable ClassLoader beanClassLoader)
      Create a new StandardBeanExpressionResolver with the given bean class loader, using it as the basis for expression compilation.

      As of Spring Framework 6.1.3, the maximum SpEL expression length can be configured via the MAX_SPEL_EXPRESSION_LENGTH_PROPERTY_NAME property.

      Parameters:
      beanClassLoader - the factory's bean class loader
  • Method Details

    • setExpressionPrefix

      public void setExpressionPrefix(String expressionPrefix)
      Set the prefix that an expression string starts with. The default is "#{".
      See Also:
    • setExpressionSuffix

      public void setExpressionSuffix(String expressionSuffix)
      Set the suffix that an expression string ends with. The default is "}".
      See Also:
    • setExpressionParser

      public void setExpressionParser(ExpressionParser expressionParser)
      Specify the EL parser to use for expression parsing.

      Default is a SpelExpressionParser, compatible with standard Unified EL style expression syntax.

    • evaluate

      public @Nullable Object evaluate(@Nullable String value, BeanExpressionContext beanExpressionContext) throws BeansException
      Description copied from interface: BeanExpressionResolver
      Evaluate the given value as an expression, if applicable; return the value as-is otherwise.
      Specified by:
      evaluate in interface BeanExpressionResolver
      Parameters:
      value - the value to evaluate as an expression
      beanExpressionContext - the bean expression context to use when evaluating the expression
      Returns:
      the resolved value (potentially the given value as-is)
      Throws:
      BeansException - if evaluation failed
    • customizeEvaluationContext

      protected void customizeEvaluationContext(StandardEvaluationContext evalContext)
      Template method for customizing the expression evaluation context.

      The default implementation is empty.