public class HandlerMethod
extends java.lang.Object クラスは、Bean インスタンスまたは Bean 名(例: lazy-init Bean、プロトタイプ Bean)で作成できます。createWithResolvedBean() を使用して、関連する BeanFactory によって解決された Bean インスタンスを持つ HandlerMethod インスタンスを取得します。
| 修飾子と型 | クラスと説明 |
|---|---|
protected class | HandlerMethod.HandlerMethodParameterHandlerMethod 固有の動作を持つ MethodParameter。 |
| 修飾子 | コンストラクターと説明 |
|---|---|
protected | HandlerMethod(HandlerMethod handlerMethod) サブクラスで使用するコンストラクターをコピーします。 |
| HandlerMethod(java.lang.Object bean, java.lang.reflect.Method method)Bean インスタンスとメソッドからインスタンスを作成します。 |
| HandlerMethod(java.lang.Object bean, java.lang.String methodName, java.lang.Class<?>... parameterTypes)Bean インスタンス、メソッド名、パラメーター型からインスタンスを作成します。 |
| HandlerMethod(java.lang.String beanName, BeanFactory beanFactory, java.lang.reflect.Method method)Bean 名、メソッド、 BeanFactory からインスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected void | assertTargetBean(java.lang.reflect.Method method, java.lang.Object targetBean, java.lang.Object[] args) ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。 |
HandlerMethod | createWithResolvedBean() 提供されたインスタンスにオブジェクトインスタンスではなく Bean 名が含まれる場合、 HandlerMethod が作成されて返される前に、Bean 名が解決されます。 |
boolean | equals(java.lang.Object other) |
protected static java.lang.Object | findProvidedArgument(MethodParameter parameter, java.lang.Object... providedArgs) |
protected static java.lang.String | formatArgumentError(MethodParameter param, java.lang.String message) |
protected java.lang.String | formatInvokeError(java.lang.String text, java.lang.Object[] args) |
java.lang.Object | getBean() このハンドラーメソッドの Bean を返します。 |
java.lang.Class<?> | getBeanType() このメソッドは、このハンドラーメソッドのハンドラーの型を返します。 |
protected java.lang.reflect.Method | getBridgedMethod()Bean メソッドがブリッジメソッドである場合、このメソッドはブリッジ(ユーザー定義)メソッドを返します。 |
java.lang.reflect.Method | getMethod() このハンドラーメソッドのメソッドを返します。 |
<A extends java.lang.annotation.Annotation> | getMethodAnnotation(java.lang.Class<A> annotationType) 指定されたメソッド自体にアノテーションが見つからない場合、そのスーパーメソッドをトラバースする基礎となるメソッドに単一のアノテーションを返します。 |
MethodParameter[] | getMethodParameters() このハンドラーメソッドのメソッドパラメーターを返します。 |
HandlerMethod | getResolvedFromHandlerMethod() この HandlerMethod インスタンスが createWithResolvedBean() を介して解決された HandlerMethod を返します。 |
protected HttpStatus | getResponseStatus() 指定されたレスポンスステータスがあれば返します。 |
protected java.lang.String | getResponseStatusReason() 関連するレスポンスステータスの理由があれば返します。 |
MethodParameter | getReturnType()HandlerMethod 戻り値の型を返します。 |
MethodParameter | getReturnValueType(java.lang.Object returnValue) 実際の戻り値の型を返します。 |
java.lang.String | getShortLogMessage() ログメッセージのために、このハンドラーメソッドの短い表現を返します。 |
int | hashCode() |
<A extends java.lang.annotation.Annotation> | hasMethodAnnotation(java.lang.Class<A> annotationType) 指定されたアノテーション型でパラメーターが宣言されているかどうかを返します。 |
boolean | isVoid() メソッドの戻り値の型が void の場合は true を返し、そうでない場合は false を返します。 |
java.lang.String | toString() |
protected final Log logger
public HandlerMethod(java.lang.Object bean,
java.lang.reflect.Method method)public HandlerMethod(java.lang.Object bean,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes)
throws java.lang.NoSuchMethodExceptionjava.lang.NoSuchMethodException - メソッドが見つからない場合 public HandlerMethod(java.lang.String beanName,
BeanFactory beanFactory,
java.lang.reflect.Method method)BeanFactory からインスタンスを作成します。メソッド createWithResolvedBean() は、初期化された Bean で HandlerMethod を再作成するために後で使用できます。protected HandlerMethod(HandlerMethod handlerMethod)
public java.lang.Object getBean()
public java.lang.reflect.Method getMethod()
public java.lang.Class<?> getBeanType()
Bean 型が CGLIB で生成されたクラスである場合、元のユーザー定義のクラスが返されることに注意してください。
protected java.lang.reflect.Method getBridgedMethod()
getMethod() と同じメソッドを返します。public MethodParameter[] getMethodParameters()
@Nullable protected HttpStatus getResponseStatus()
ResponseStatus.code()@Nullable protected java.lang.String getResponseStatusReason()
ResponseStatus.reason()public MethodParameter getReturnType()
public MethodParameter getReturnValueType(@Nullable java.lang.Object returnValue)
public boolean isVoid()
true を返し、そうでない場合は false を返します。@Nullable public <A extends java.lang.annotation.Annotation> A getMethodAnnotation(java.lang.Class<A> annotationType)
Spring Framework 4.2.2 の時点で、属性オーバーライドを使用してマージされた合成アノテーションもサポートします。
annotationType - メソッドをイントロスペクトするためのアノテーションの型 null AnnotatedElementUtils.findMergedAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<A>)public <A extends java.lang.annotation.Annotation> boolean hasMethodAnnotation(java.lang.Class<A> annotationType)
annotationType - 検索するアノテーション型 AnnotatedElementUtils.hasAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<? extends java.lang.annotation.Annotation>)@Nullable public HandlerMethod getResolvedFromHandlerMethod()
createWithResolvedBean() を介して解決された HandlerMethod を返します。public HandlerMethod createWithResolvedBean()
HandlerMethod が作成されて返される前に、Bean 名が解決されます。public java.lang.String getShortLogMessage()
public boolean equals(java.lang.Object other)
java.lang.Object の equals public int hashCode()
java.lang.Object の hashCode public java.lang.String toString()
java.lang.Object の toString @Nullable protected static java.lang.Object findProvidedArgument(MethodParameter parameter, @Nullable java.lang.Object... providedArgs)
protected static java.lang.String formatArgumentError(MethodParameter param, java.lang.String message)
protected void assertTargetBean(java.lang.reflect.Method method,
java.lang.Object targetBean,
java.lang.Object[] args)@Controller は、クラスベースのプロキシメカニズムを優先する必要があります。protected java.lang.String formatInvokeError(java.lang.String text,
java.lang.Object[] args)