クラス 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 class
HandlerMethod 固有の動作を持つ MethodParameter。フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクター修飾子コンストラクター説明HandlerMethod
(ObjectSE bean, MethodSE method) Bean インスタンスとメソッドからインスタンスを作成します。protected
HandlerMethod
(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)
のバリアント。protected
HandlerMethod
(HandlerMethod handlerMethod) サブクラスで使用するコンストラクターをコピーします。メソッドのサマリー
修飾子と型メソッド説明protected void
assertTargetBean
(MethodSE method, ObjectSE targetBean, ObjectSE[] args) ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。提供されたインスタンスにオブジェクトインスタンスではなく Bean 名が含まれる場合、HandlerMethod
が作成されて返される前に、Bean 名が解決されます。boolean
protected static ObjectSE
findProvidedArgument
(MethodParameter parameter, ObjectSE... providedArgs) protected static StringSE
formatArgumentError
(MethodParameter param, StringSE message) protected StringSE
formatInvokeError
(StringSE text, ObjectSE[] args) getBean()
このハンドラーメソッドの Bean を返します。ClassSE<?>
このメソッドは、このハンドラーメソッドのハンドラーの型を返します。protected MethodSE
Bean メソッドがブリッジメソッドである場合、このメソッドはブリッジ(ユーザー定義)メソッドを返します。このハンドラーメソッドのメソッドを返します。<A extends AnnotationSE>
AgetMethodAnnotation
(ClassSE<A> annotationType) 指定されたメソッド自体にアノテーションが見つからない場合、そのスーパーメソッドをトラバースする基礎となるメソッドに単一のアノテーションを返します。このハンドラーメソッドのメソッドパラメーターを返します。この HandlerMethod インスタンスがcreateWithResolvedBean()
を介して解決された HandlerMethod を返します。protected HttpStatusCode
指定されたレスポンスステータスがあれば返します。protected StringSE
関連するレスポンスステータスの理由があれば返します。HandlerMethod 戻り値の型を返します。getReturnValueType
(ObjectSE returnValue) 実際の戻り値の型を返します。ログメッセージのために、このハンドラーメソッドの短い表現を返します。int
hashCode()
<A extends AnnotationSE>
booleanhasMethodAnnotation
(ClassSE<A> annotationType) 指定されたアノテーション型でパラメーターが宣言されているかどうかを返します。boolean
isVoid()
メソッドの戻り値の型が 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