クラス HandlerMethod
java.lang.ObjectSE
org.springframework.web.method.HandlerMethod
メソッドと Bean で構成されるハンドラーメソッドに関する情報をカプセル化します。メソッドのパラメーター、メソッドの戻り値、メソッドのアノテーションなどへの便利なアクセスを提供します。
クラスは、Bean インスタンスまたは Bean 名(例: lazy-init Bean、プロトタイプ Bean)で作成できます。createWithResolvedBean() を使用して、関連する BeanFactory によって解決された Bean インスタンスを持つ HandlerMethod インスタンスを取得します。
- 導入:
- 3.1
- 作成者:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller, Sam Brannen
ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明protected classHandlerMethod 固有の動作を持つ MethodParameter。フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター修飾子コンストラクター説明HandlerMethod(ObjectSE bean, MethodSE method) Bean インスタンスとメソッドからインスタンスを作成します。protectedHandlerMethod(ObjectSE bean, MethodSE method, MessageSource messageSource) サブクラスから使用するためにMessageSourceも受け入れるHandlerMethod(Object, Method)のバリアント。HandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) Bean インスタンス、メソッド名、パラメーター型からインスタンスを作成します。HandlerMethod(StringSE beanName, BeanFactory beanFactory, MethodSE method) Bean 名、メソッド、BeanFactoryからインスタンスを作成します。HandlerMethod(StringSE beanName, BeanFactory beanFactory, MessageSource messageSource, MethodSE method) MessageSourceも受け入れるHandlerMethod(String, BeanFactory, Method)のバリアント。protectedHandlerMethod(HandlerMethod handlerMethod) サブクラスで使用するコンストラクターをコピーします。メソッドのサマリー
修飾子と型メソッド説明protected voidassertTargetBean(MethodSE method, ObjectSE targetBean, ObjectSE[] args) ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。提供されたインスタンスにオブジェクトインスタンスではなく Bean 名が含まれる場合、HandlerMethodが作成されて返される前に、Bean 名が解決されます。booleanprotected static ObjectSEfindProvidedArgument(MethodParameter parameter, ObjectSE... providedArgs) protected static StringSEformatArgumentError(MethodParameter param, StringSE message) protected StringSEformatInvokeError(StringSE text, ObjectSE[] args) getBean()このハンドラーメソッドの Bean を返します。ClassSE<?>このメソッドは、このハンドラーメソッドのハンドラーの型を返します。protected MethodSEBean メソッドがブリッジメソッドである場合、このメソッドはブリッジ(ユーザー定義)メソッドを返します。このハンドラーメソッドのメソッドを返します。<A extends AnnotationSE>
AgetMethodAnnotation(ClassSE<A> annotationType) 指定されたメソッド自体にアノテーションが見つからない場合、そのスーパーメソッドをトラバースする基礎となるメソッドに単一のアノテーションを返します。このハンドラーメソッドのメソッドパラメーターを返します。この HandlerMethod インスタンスがcreateWithResolvedBean()を介して解決された HandlerMethod を返します。protected HttpStatusCode指定されたレスポンスステータスがあれば返します。protected StringSE関連するレスポンスステータスの理由があれば返します。HandlerMethod 戻り値の型を返します。getReturnValueType(ObjectSE returnValue) 実際の戻り値の型を返します。ログメッセージのために、このハンドラーメソッドの短い表現を返します。inthashCode()<A extends AnnotationSE>
booleanhasMethodAnnotation(ClassSE<A> annotationType) 指定されたアノテーション型でパラメーターが宣言されているかどうかを返します。booleanisVoid()メソッドの戻り値の型が void の場合はtrueを返し、そうでない場合はfalseを返します。toString()
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
HandlerMethod
Bean インスタンスとメソッドからインスタンスを作成します。HandlerMethod
サブクラスから使用するためにMessageSourceも受け入れるHandlerMethod(Object, Method)のバリアント。- 導入:
- 5.3.10
HandlerMethod
public HandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) throws NoSuchMethodExceptionSE Bean インスタンス、メソッド名、パラメーター型からインスタンスを作成します。- 例外:
NoSuchMethodExceptionSE- メソッドが見つからない場合
HandlerMethod
Bean 名、メソッド、BeanFactoryからインスタンスを作成します。メソッドcreateWithResolvedBean()は、初期化された Bean でHandlerMethodを再作成するために後で使用できます。HandlerMethod
public HandlerMethod(StringSE beanName, BeanFactory beanFactory, @Nullable MessageSource messageSource, MethodSE method) MessageSourceも受け入れるHandlerMethod(String, BeanFactory, Method)のバリアント。HandlerMethod
サブクラスで使用するコンストラクターをコピーします。
メソッドの詳細
getBean
このハンドラーメソッドの Bean を返します。getMethod
このハンドラーメソッドのメソッドを返します。getBeanType
このメソッドは、このハンドラーメソッドのハンドラーの型を返します。Bean 型が CGLIB で生成されたクラスである場合、元のユーザー定義のクラスが返されることに注意してください。
getBridgedMethod
Bean メソッドがブリッジメソッドの場合、このメソッドはブリッジ(ユーザー定義)メソッドを返します。それ以外の場合は、getMethod()と同じメソッドを返します。getMethodParameters
このハンドラーメソッドのメソッドパラメーターを返します。getResponseStatus
指定されたレスポンスステータスがあれば返します。- 導入:
- 4.3.8
- 関連事項:
getResponseStatusReason
関連するレスポンスステータスの理由があれば返します。- 導入:
- 4.3.8
- 関連事項:
getReturnType
HandlerMethod 戻り値の型を返します。getReturnValueType
実際の戻り値の型を返します。isVoid
public boolean isVoid()メソッドの戻り値の型が void の場合はtrueを返し、そうでない場合はfalseを返します。getMethodAnnotation
指定されたメソッド自体にアノテーションが見つからない場合、そのスーパーメソッドをトラバースする基礎となるメソッドに単一のアノテーションを返します。Spring Framework 4.2.2 の時点で、属性オーバーライドを使用してマージされた合成アノテーションもサポートします。
- パラメーター:
annotationType- メソッドをイントロスペクトするためのアノテーションの型- 戻り値:
- アノテーション、または見つからない場合は
null - 関連事項:
hasMethodAnnotation
指定されたアノテーション型でパラメーターが宣言されているかどうかを返します。- パラメーター:
annotationType- 検索するアノテーション型- 導入:
- 4.3
- 関連事項:
getResolvedFromHandlerMethod
この HandlerMethod インスタンスがcreateWithResolvedBean()を介して解決された HandlerMethod を返します。createWithResolvedBean
提供されたインスタンスにオブジェクトインスタンスではなく Bean 名が含まれる場合、HandlerMethodが作成されて返される前に、Bean 名が解決されます。getShortLogMessage
ログメッセージのために、このハンドラーメソッドの短い表現を返します。- 導入:
- 4.3
equals
hashCode
public int hashCode()toString
findProvidedArgument
@Nullable protected static ObjectSE findProvidedArgument(MethodParameter parameter, @Nullable ObjectSE... providedArgs) formatArgumentError
assertTargetBean
ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。場合によっては、リクエスト処理時の実際のコントローラーインスタンスは JDK 動的プロキシ(遅延初期化、プロトタイプ Bean など)である場合があります。プロキシを必要とする@Controllerは、クラスベースのプロキシメカニズムを優先する必要があります。formatInvokeError