diff --git a/spring-context/src/main/java/org/springframework/context/expression/BeanFactoryResolver.java b/spring-context/src/main/java/org/springframework/context/expression/BeanFactoryResolver.java index 94ecbe74a06..e9f76390041 100644 --- a/spring-context/src/main/java/org/springframework/context/expression/BeanFactoryResolver.java +++ b/spring-context/src/main/java/org/springframework/context/expression/BeanFactoryResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,11 +34,17 @@ public class BeanFactoryResolver implements BeanResolver { private final BeanFactory beanFactory; + + /** + * Create a new {@link BeanFactoryResolver} for the given factory. + * @param beanFactory the {@link BeanFactory} to resolve bean names against + */ public BeanFactoryResolver(BeanFactory beanFactory) { Assert.notNull(beanFactory, "BeanFactory must not be null"); this.beanFactory = beanFactory; } + @Override public Object resolve(EvaluationContext context, String beanName) throws AccessException { try { diff --git a/spring-expression/src/main/java/org/springframework/expression/BeanResolver.java b/spring-expression/src/main/java/org/springframework/expression/BeanResolver.java index 1f6726f1f10..63355633357 100644 --- a/spring-expression/src/main/java/org/springframework/expression/BeanResolver.java +++ b/spring-expression/src/main/java/org/springframework/expression/BeanResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,9 @@ package org.springframework.expression; /** - * A bean resolver can be registered with the evaluation context - * and will kick in for {@code @myBeanName} and {@code &myBeanName} expressions. - * The & variant syntax allows access to the factory bean where - * relevant. + * A bean resolver can be registered with the evaluation context and will kick in + * for bean references: {@code @myBeanName} and {@code &myBeanName} expressions. + * The & variant syntax allows access to the factory bean where relevant. * * @author Andy Clement * @since 3.0.3 @@ -28,12 +27,12 @@ package org.springframework.expression; public interface BeanResolver { /** - * Look up the named bean and return it. If attempting to access a factory - * bean the name will have a & prefix. + * Look up a bean by the given name and return a corresponding instance for it. + * For attempting access to a factory bean, the name needs a & prefix. * @param context the current evaluation context - * @param beanName the name of the bean to lookup + * @param beanName the name of the bean to look up * @return an object representing the bean - * @throws AccessException if there is an unexpected problem resolving the named bean + * @throws AccessException if there is an unexpected problem resolving the bean */ Object resolve(EvaluationContext context, String beanName) throws AccessException; diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardEvaluationContext.java b/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardEvaluationContext.java index ccb72302b5f..976947d84a0 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardEvaluationContext.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardEvaluationContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,14 +38,22 @@ import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** - * Provides a default EvaluationContext implementation. + * A highly configurable {@link EvaluationContext} implementation. * - *

To resolve properties/methods/fields this context uses a reflection mechanism. + *

This context uses standard implementations of all applicable strategies, + * based on reflection to resolve properties, methods and fields. * * @author Andy Clement * @author Juergen Hoeller * @author Sam Brannen * @since 3.0 + * @see ReflectivePropertyAccessor + * @see ReflectiveConstructorResolver + * @see ReflectiveMethodResolver + * @see StandardTypeLocator + * @see StandardTypeConverter + * @see StandardTypeComparator + * @see StandardOperatorOverloader */ public class StandardEvaluationContext implements EvaluationContext {