org.springframework.context.expression

## 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.
  Since:
    3.0
  Author:
    Juergen Hoeller
  See Also:
    `ExpressionParser`, `SpelExpressionParser`, `StandardEvaluationContext`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_EXPRESSION_PREFIX` Default expression prefix: "#{"
    `static String` | `DEFAULT_EXPRESSION_SUFFIX` Default expression suffix: "}"

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StandardBeanExpressionResolver()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `customizeEvaluationContext(StandardEvaluationContext evalContext)` Template method for customizing the expression evaluation context.
    `Object` | `evaluate(String value, BeanExpressionContext evalContext)` Evaluate the given value as an expression, if applicable; return the value as-is otherwise.
    `void` | `setExpressionParser(ExpressionParser expressionParser)` Specify the EL parser to use for expression parsing.
    `void` | `setExpressionPrefix(String expressionPrefix)` Set the prefix that an expression string starts with.
    `void` | `setExpressionSuffix(String expressionSuffix)` Set the suffix that an expression string ends with.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_EXPRESSION_PREFIX

          public static final String DEFAULT_EXPRESSION_PREFIX

      Default expression prefix: "#{"
      See Also:
        Constant Field Values

    - #### DEFAULT_EXPRESSION_SUFFIX

          public static final String DEFAULT_EXPRESSION_SUFFIX

      Default expression suffix: "}"
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### StandardBeanExpressionResolver

          public StandardBeanExpressionResolver()

  - ### Method Detail

    - #### setExpressionPrefix

          public void setExpressionPrefix(String expressionPrefix)

      Set the prefix that an expression string starts with. The default is "#{".
      See Also:
        `DEFAULT_EXPRESSION_PREFIX`

    - #### setExpressionSuffix

          public void setExpressionSuffix(String expressionSuffix)

      Set the suffix that an expression string ends with. The default is "}".
      See Also:
        `DEFAULT_EXPRESSION_SUFFIX`

    - #### 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 Object evaluate(String value,
                        BeanExpressionContext evalContext)
                          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 check
        `evalContext` - the evaluation context
      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.