Class HandlerMethod
java.lang.Object
org.springframework.core.annotation.AnnotatedMethod
org.springframework.messaging.handler.HandlerMethod
- Direct Known Subclasses:
 InvocableHandlerMethod,InvocableHandlerMethod
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
AnnotatedMethod.AnnotatedMethodParameter - 
Field Summary
Fields - 
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, 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, 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, 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<?>Expose the containing class for method parameters.Return 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()voidSet 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 for wrapping with fallback logger. - 
logger
 
 - 
 - 
Constructor Details
- 
HandlerMethod
Create an instance from a bean instance and a method. - 
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
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
Set an alternative logger to use than the one based on the class name.- Parameters:
 logger- the logger to use- Since:
 - 5.1
 
 - 
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
Description copied from class:AnnotatedMethodExpose the containing class for method parameters.- Overrides:
 getContainingClassin classAnnotatedMethod- See Also:
 
 - 
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
- Overrides:
 equalsin classAnnotatedMethod
 - 
hashCode
public int hashCode()- Overrides:
 hashCodein classAnnotatedMethod
 - 
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
 
 -