| Package | Description | 
|---|---|
| org.springframework.expression | Core abstractions behind the Spring Expression Language. | 
| org.springframework.expression.spel | SpEL's central implementation package. | 
| org.springframework.expression.spel.ast | SpEL's abstract syntax tree. | 
| org.springframework.expression.spel.support | SpEL's default implementations for various core abstractions. | 
| Modifier and Type | Method and Description | 
|---|---|
| List<PropertyAccessor> | EvaluationContext. getPropertyAccessors()Return a list of accessors that will be asked in turn to read/write a property. | 
| Modifier and Type | Interface and Description | 
|---|---|
| interface  | CompilablePropertyAccessorA compilable property accessor is able to generate bytecode that represents
 the access operation, facilitating compilation to bytecode of expressions
 that use the accessor. | 
| Modifier and Type | Method and Description | 
|---|---|
| List<PropertyAccessor> | ExpressionState. getPropertyAccessors() | 
| Modifier and Type | Method and Description | 
|---|---|
| static List<PropertyAccessor> | AstUtils. getPropertyAccessorsToTry(Class<?> targetType,
                         List<PropertyAccessor> propertyAccessors)Determines the set of property resolvers that should be used to try and access a
 property on the specified target type. | 
| Modifier and Type | Method and Description | 
|---|---|
| static List<PropertyAccessor> | AstUtils. getPropertyAccessorsToTry(Class<?> targetType,
                         List<PropertyAccessor> propertyAccessors)Determines the set of property resolvers that should be used to try and access a
 property on the specified target type. | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | DataBindingPropertyAccessorA  PropertyAccessorvariant for data binding
 purposes, using reflection to access properties for reading and possibly writing. | 
| class  | ReflectivePropertyAccessorA powerful  PropertyAccessorthat uses reflection to access properties
 for reading and possibly also for writing. | 
| static class  | ReflectivePropertyAccessor.OptimalPropertyAccessorAn optimized form of a PropertyAccessor that will use reflection but only knows
 how to access a particular property on a particular class. | 
| Modifier and Type | Method and Description | 
|---|---|
| PropertyAccessor | ReflectivePropertyAccessor. createOptimalAccessor(EvaluationContext context,
                     Object target,
                     String name)Attempt to create an optimized property accessor tailored for a property of a
 particular name on a particular class. | 
| Modifier and Type | Method and Description | 
|---|---|
| List<PropertyAccessor> | SimpleEvaluationContext. getPropertyAccessors()Return the specified  PropertyAccessordelegates, if any. | 
| List<PropertyAccessor> | StandardEvaluationContext. getPropertyAccessors() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | StandardEvaluationContext. addPropertyAccessor(PropertyAccessor accessor) | 
| static SimpleEvaluationContext.Builder | SimpleEvaluationContext. forPropertyAccessors(PropertyAccessor... accessors)Create a  SimpleEvaluationContextfor the specifiedPropertyAccessordelegates: typically a customPropertyAccessorspecific to a use case
 (e.g. | 
| boolean | StandardEvaluationContext. removePropertyAccessor(PropertyAccessor accessor) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | StandardEvaluationContext. setPropertyAccessors(List<PropertyAccessor> propertyAccessors) | 
| Constructor and Description | 
|---|
| Builder(PropertyAccessor... accessors) |