类 ExpressionValueMethodArgumentResolver
- java.lang.Object
- org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
- org.springframework.web.method.annotation.ExpressionValueMethodArgumentResolver
- 所有已实现的接口:
HandlerMethodArgumentResolver
public class ExpressionValueMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver
Resolves method arguments annotated with@Value
.An
@Value
does not have a name but gets resolved from the default value string, which may contain ${...} placeholder or Spring Expression Language #{...} expressions.A
WebDataBinder
may be invoked to apply type conversion to resolved argument value.- 从以下版本开始:
- 3.1
- 作者:
- Rossen Stoyanchev
嵌套类概要
从类继承的嵌套类/接口 org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
构造器概要
构造器 构造器 说明 ExpressionValueMethodArgumentResolver(ConfigurableBeanFactory beanFactory)
Create a newExpressionValueMethodArgumentResolver
instance.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo
createNamedValueInfo(MethodParameter parameter)
Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfo
object for the given method parameter.protected void
handleMissingValue(String name, MethodParameter parameter)
Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returnednull
and there is no default value.protected Object
resolveName(String name, MethodParameter parameter, NativeWebRequest webRequest)
Resolve the given parameter type and value name into an argument value.boolean
supportsParameter(MethodParameter parameter)
Whether the given method parameter is supported by this resolver.从类继承的方法 org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
handleMissingValue, handleResolvedValue, resolveArgument
构造器详细资料
ExpressionValueMethodArgumentResolver
public ExpressionValueMethodArgumentResolver(@Nullable ConfigurableBeanFactory beanFactory)
Create a newExpressionValueMethodArgumentResolver
instance.- 参数:
beanFactory
- a bean factory to use for resolving ${...} placeholder and #{...} SpEL expressions in default values; ornull
if default values are not expected to contain expressions
方法详细资料
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
从接口复制的说明:HandlerMethodArgumentResolver
Whether the given method parameter is supported by this resolver.- 参数:
parameter
- the method parameter to check- 返回:
true
if this resolver supports the supplied parameter;false
otherwise
createNamedValueInfo
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfo
object for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class)
.- 指定者:
createNamedValueInfo
在类中AbstractNamedValueMethodArgumentResolver
- 参数:
parameter
- the method parameter- 返回:
- the named value information
resolveName
@Nullable protected Object resolveName(String name, MethodParameter parameter, NativeWebRequest webRequest) throws Exception
Resolve the given parameter type and value name into an argument value.- 指定者:
resolveName
在类中AbstractNamedValueMethodArgumentResolver
- 参数:
name
- the name of the value being resolvedparameter
- the method parameter to resolve to an argument value (pre-nested in case of aOptional
declaration)webRequest
- the current request- 返回:
- the resolved argument (may be
null
) - 抛出:
Exception
- in case of errors
handleMissingValue
protected void handleMissingValue(String name, MethodParameter parameter) throws ServletException
Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returnednull
and there is no default value. Subclasses typically throw an exception in this case.- 覆盖:
handleMissingValue
在类中AbstractNamedValueMethodArgumentResolver
- 参数:
name
- the name for the valueparameter
- the method parameter- 抛出:
ServletException