Class HandlerMethod
java.lang.Object
org.springframework.core.annotation.AnnotatedMethod
org.springframework.messaging.handler.HandlerMethod
- Direct Known Subclasses:
 InvocableHandlerMethod, InvocableHandlerMethod
public class HandlerMethod
extends org.springframework.core.annotation.AnnotatedMethod
Encapsulates information about a handler method consisting of a
method and a bean.
Provides convenient access to method parameters, the method return value,
method annotations, etc.
The class may be created with a bean instance or with a bean name
(for example, lazy-init bean, prototype bean). Use createWithResolvedBean()
to obtain a HandlerMethod instance with a bean instance resolved
through the associated BeanFactory.
- Since:
 - 4.0
 - Author:
 - Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
 
- 
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.core.annotation.AnnotatedMethod
org.springframework.core.annotation.AnnotatedMethod.AnnotatedMethodParameter - 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.commons.logging.LogPublic for wrapping with fallback logger.protected org.apache.commons.logging.Log - 
Constructor Summary
ConstructorsModifierConstructorDescriptionHandlerMethod(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, org.springframework.beans.factory.BeanFactory beanFactory, Method method) Create an instance from a bean name, a method, and aBeanFactory.protectedHandlerMethod(HandlerMethod handlerMethod) Copy constructor for use in subclasses. - 
Method Summary
Modifier and TypeMethodDescriptionprotected voidassertTargetBean(Method method, Object targetBean, @Nullable Object[] args) Assert that the target bean class is an instance of the class where the given method is declared.If the provided instance contains a bean name rather than an object instance, the bean name is resolved before aHandlerMethodis created and returned.booleanprotected StringformatInvokeError(String text, @Nullable Object[] args) getBean()Return the bean for this handler method.Class<?> This method returns the type of the handler for this handler method.protected Class<?> org.apache.commons.logging.LogReturn the currently configured Logger.Return the HandlerMethod from which this HandlerMethod instance was resolved viacreateWithResolvedBean().Return a short representation of this handler method for log message purposes.inthashCode()voidsetLogger(org.apache.commons.logging.Log logger) Set an alternative logger to use than the one based on the class name.Methods inherited from class org.springframework.core.annotation.AnnotatedMethod
findProvidedArgument, formatArgumentError, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getReturnType, getReturnValueType, hasMethodAnnotation, isVoid, toString 
- 
Field Details
- 
defaultLogger
public static final org.apache.commons.logging.Log defaultLoggerPublic for wrapping with fallback logger. - 
logger
protected org.apache.commons.logging.Log logger 
 - 
 - 
Constructor Details
- 
HandlerMethod
 - 
HandlerMethod
public HandlerMethod(Object bean, String methodName, Class<?>... parameterTypes) throws NoSuchMethodException Create an instance from a bean instance, method name, and parameter types.- Throws:
 NoSuchMethodException- when the method cannot be found
 - 
HandlerMethod
public HandlerMethod(String beanName, org.springframework.beans.factory.BeanFactory beanFactory, Method method) Create an instance from a bean name, a method, and aBeanFactory. The methodcreateWithResolvedBean()may be used later to re-create theHandlerMethodwith an initialized bean. - 
HandlerMethod
Copy constructor for use in subclasses. 
 - 
 - 
Method Details
- 
setLogger
public void setLogger(org.apache.commons.logging.Log logger) Set an alternative logger to use than the one based on the class name.- Parameters:
 logger- the logger to use- Since:
 - 5.1
 
 - 
getLogger
public org.apache.commons.logging.Log getLogger()Return the currently configured Logger.- Since:
 - 5.1
 
 - 
getBean
Return the bean for this handler method. - 
getBeanType
This method returns the type of the handler for this handler method.Note that if the bean type is a CGLIB-generated class, the original user-defined class is returned.
 - 
getContainingClass
- Overrides:
 getContainingClassin classorg.springframework.core.annotation.AnnotatedMethod
 - 
getResolvedFromHandlerMethod
Return the HandlerMethod from which this HandlerMethod instance was resolved viacreateWithResolvedBean().- Since:
 - 4.3
 
 - 
createWithResolvedBean
If the provided instance contains a bean name rather than an object instance, the bean name is resolved before aHandlerMethodis created and returned. - 
getShortLogMessage
Return a short representation of this handler method for log message purposes. - 
equals
 - 
hashCode
public int hashCode()- Overrides:
 hashCodein classorg.springframework.core.annotation.AnnotatedMethod
 - 
assertTargetBean
Assert that the target bean class is an instance of the class where the given method is declared. In some cases the actual endpoint instance at request- processing time may be a JDK dynamic proxy (lazy initialization, prototype beans, and others). Endpoint classes that require proxying should prefer class-based proxy mechanisms. - 
formatInvokeError
 
 -