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
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, 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<?>Expose the containing class for method parameters.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
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
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
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
-