public class HandlerMethod extends Object
The class may be created with a bean instance or with a bean name
 (e.g. lazy-init bean, prototype bean). Use createWithResolvedBean()
 to obtain a HandlerMethod instance with a bean instance resolved
 through the associated BeanFactory.
| Modifier and Type | Class and Description | 
|---|---|
protected class  | 
HandlerMethod.HandlerMethodParameter
A MethodParameter with HandlerMethod-specific behavior. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected Log | 
logger
Logger that is available to subclasses 
 | 
| Modifier | Constructor and Description | 
|---|---|
protected  | 
HandlerMethod(HandlerMethod handlerMethod)
Copy constructor for use in subclasses. 
 | 
  | 
HandlerMethod(Object bean,
             Method method)
Create an instance from a bean instance and a method. 
 | 
  | 
HandlerMethod(Object bean,
             String methodName,
             Class<?>... parameterTypes)
Create an instance from a bean instance, method name, and parameter types. 
 | 
  | 
HandlerMethod(String beanName,
             BeanFactory beanFactory,
             Method method)
Create an instance from a bean name, a method, and a  
BeanFactory. | 
| Modifier and Type | Method and Description | 
|---|---|
HandlerMethod | 
createWithResolvedBean()
If the provided instance contains a bean name rather than an object instance,
 the bean name is resolved before a  
HandlerMethod is created and returned. | 
boolean | 
equals(Object other)  | 
Object | 
getBean()
Return the bean for this handler method. 
 | 
Class<?> | 
getBeanType()
This method returns the type of the handler for this handler method. 
 | 
protected Method | 
getBridgedMethod()
If the bean method is a bridge method, this method returns the bridged
 (user-defined) method. 
 | 
Method | 
getMethod()
Return the method for this handler method. 
 | 
<A extends Annotation> | 
getMethodAnnotation(Class<A> annotationType)
Return a single annotation on the underlying method traversing its super methods
 if no annotation can be found on the given method itself. 
 | 
MethodParameter[] | 
getMethodParameters()
Return the method parameters for this handler method. 
 | 
HandlerMethod | 
getResolvedFromHandlerMethod()
Return the HandlerMethod from which this HandlerMethod instance was
 resolved via  
createWithResolvedBean(). | 
protected HttpStatus | 
getResponseStatus()
Return the specified response status, if any. 
 | 
protected String | 
getResponseStatusReason()
Return the associated response status reason, if any. 
 | 
MethodParameter | 
getReturnType()
Return the HandlerMethod return type. 
 | 
MethodParameter | 
getReturnValueType(Object returnValue)
Return the actual return value type. 
 | 
String | 
getShortLogMessage()
Return a short representation of this handler method for log message purposes. 
 | 
int | 
hashCode()  | 
<A extends Annotation> | 
hasMethodAnnotation(Class<A> annotationType)
Return whether the parameter is declared with the given annotation type. 
 | 
boolean | 
isVoid()
Return  
true if the method return type is void, false otherwise. | 
String | 
toString()  | 
protected final Log logger
public HandlerMethod(Object bean, Method method)
public HandlerMethod(Object bean, String methodName, Class<?>... parameterTypes) throws NoSuchMethodException
NoSuchMethodException - when the method cannot be foundpublic HandlerMethod(String beanName, BeanFactory beanFactory, Method method)
BeanFactory.
 The method createWithResolvedBean() may be used later to
 re-create the HandlerMethod with an initialized bean.protected HandlerMethod(HandlerMethod handlerMethod)
public Object getBean()
public Method getMethod()
public Class<?> getBeanType()
Note that if the bean type is a CGLIB-generated class, the original user-defined class is returned.
protected Method getBridgedMethod()
getMethod().public MethodParameter[] getMethodParameters()
@Nullable protected HttpStatus getResponseStatus()
ResponseStatus.code()@Nullable protected String getResponseStatusReason()
ResponseStatus.reason()public MethodParameter getReturnType()
public MethodParameter getReturnValueType(@Nullable Object returnValue)
public boolean isVoid()
true if the method return type is void, false otherwise.@Nullable public <A extends Annotation> A getMethodAnnotation(Class<A> annotationType)
Also supports merged composed annotations with attribute overrides as of Spring Framework 4.2.2.
annotationType - the type of annotation to introspect the method fornull if none foundAnnotatedElementUtils.findMergedAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<A>)public <A extends Annotation> boolean hasMethodAnnotation(Class<A> annotationType)
annotationType - the annotation type to look forAnnotatedElementUtils.hasAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<? extends java.lang.annotation.Annotation>)@Nullable public HandlerMethod getResolvedFromHandlerMethod()
createWithResolvedBean().public HandlerMethod createWithResolvedBean()
HandlerMethod is created and returned.public String getShortLogMessage()