Polishing

This commit is contained in:
Juergen Hoeller 2018-03-12 20:42:03 +01:00
parent 967a2ef2d2
commit 04a8f81710
3 changed files with 26 additions and 13 deletions

View File

@ -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 {

View File

@ -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 <tt>&</tt> 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 <tt>&</tt> 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 <tt>&</tt> 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 <tt>&</tt> 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;

View File

@ -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.
*
* <p>To resolve properties/methods/fields this context uses a reflection mechanism.
* <p>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 {