クラス HandlerMethod

java.lang.ObjectSE
org.springframework.messaging.handler.HandlerMethod
既知の直属サブクラス
InvocableHandlerMethodInvocableHandlerMethod

public class HandlerMethod extends ObjectSE
メソッドBean で構成されるハンドラーメソッドに関する情報をカプセル化します。メソッドのパラメーター、メソッドの戻り値、メソッドのアノテーションなどへの便利なアクセスを提供します。

クラスは、Bean インスタンスまたは Bean 名(例: lazy-init Bean、プロトタイプ Bean)で作成できます。createWithResolvedBean() を使用して、関連する BeanFactory によって解決された Bean インスタンスを持つ HandlerMethod インスタンスを取得します。

導入:
4.0
作成者:
Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
  • フィールドの詳細

    • defaultLogger

      public static final Log defaultLogger
      フォールバックロガーでラップするためのパブリック。
    • logger

      protected Log logger
  • コンストラクターの詳細

    • HandlerMethod

      public HandlerMethod(ObjectSE bean, MethodSE method)
      Bean インスタンスとメソッドからインスタンスを作成します。
    • HandlerMethod

      public HandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) throws NoSuchMethodExceptionSE
      Bean インスタンス、メソッド名、パラメーター型からインスタンスを作成します。
      例外:
      NoSuchMethodExceptionSE - メソッドが見つからない場合
    • HandlerMethod

      public HandlerMethod(StringSE beanName, BeanFactory beanFactory, MethodSE method)
      Bean 名、メソッド、BeanFactory からインスタンスを作成します。メソッド createWithResolvedBean() は、初期化された Bean で HandlerMethod を再作成するために後で使用できます。
    • HandlerMethod

      protected HandlerMethod(HandlerMethod handlerMethod)
      サブクラスで使用するコンストラクターをコピーします。
  • メソッドの詳細

    • setLogger

      public void setLogger(Log logger)
      クラス名に基づいたロガーよりも使用する代替ロガーを設定します。
      パラメーター:
      logger - 使用するロガー
      導入:
      5.1
    • getLogger

      public Log getLogger()
      現在設定されているロガーを返します。
      導入:
      5.1
    • getBean

      public ObjectSE getBean()
      このハンドラーメソッドの Bean を返します。
    • getMethod

      public MethodSE getMethod()
      このハンドラーメソッドのメソッドを返します。
    • getBeanType

      public ClassSE<?> getBeanType()
      このメソッドは、このハンドラーメソッドのハンドラーの型を返します。

      Bean 型が CGLIB で生成されたクラスである場合、元のユーザー定義のクラスが返されることに注意してください。

    • getBridgedMethod

      protected MethodSE getBridgedMethod()
      Bean メソッドがブリッジメソッドの場合、このメソッドはブリッジ(ユーザー定義)メソッドを返します。それ以外の場合は、getMethod() と同じメソッドを返します。
    • getMethodParameters

      public MethodParameter[] getMethodParameters()
      このハンドラーメソッドのメソッドパラメーターを返します。
    • getReturnType

      public MethodParameter getReturnType()
      HandlerMethod 戻り値の型を返します。
    • getReturnValueType

      public MethodParameter getReturnValueType(@Nullable ObjectSE returnValue)
      実際の戻り値の型を返します。
    • isVoid

      public boolean isVoid()
      メソッドの戻り値の型が void の場合は true を返し、そうでない場合は false を返します。
    • getMethodAnnotation

      @Nullable public <A extends AnnotationSE> A getMethodAnnotation(ClassSE<A> annotationType)
      指定されたメソッド自体にアノテーションが見つからない場合、そのスーパーメソッドをトラバースする基礎となるメソッドに単一のアノテーションを返します。

      Spring Framework 4.3 の時点で、属性オーバーライドを使用してマージされた合成アノテーションもサポートます。

      パラメーター:
      annotationType - メソッドを内省するためのアノテーションの型
      戻り値:
      アノテーション、または見つからない場合は null 
      関連事項:
    • hasMethodAnnotation

      public <A extends AnnotationSE> boolean hasMethodAnnotation(ClassSE<A> annotationType)
      指定されたアノテーション型でパラメーターが宣言されているかどうかを返します。
      パラメーター:
      annotationType - 検索するアノテーション型
      導入:
      4.3
      関連事項:
    • getResolvedFromHandlerMethod

      @Nullable public HandlerMethod getResolvedFromHandlerMethod()
      この HandlerMethod インスタンスが createWithResolvedBean() を介して解決された HandlerMethod を返します。
      導入:
      4.3
    • createWithResolvedBean

      public HandlerMethod createWithResolvedBean()
      提供されたインスタンスにオブジェクトインスタンスではなく Bean 名が含まれる場合、HandlerMethod が作成されて返される前に、Bean 名が解決されます。
    • getShortLogMessage

      public StringSE getShortLogMessage()
      ログメッセージのために、このハンドラーメソッドの短い表現を返します。
    • equals

      public boolean equals(@Nullable ObjectSE other)
      オーバーライド:
      クラス ObjectSEequalsSE 
    • hashCode

      public int hashCode()
      オーバーライド:
      クラス ObjectSEhashCode 
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString 
    • findProvidedArgument

      @Nullable protected static ObjectSE findProvidedArgument(MethodParameter parameter, @Nullable ObjectSE... providedArgs)
    • formatArgumentError

      protected static StringSE formatArgumentError(MethodParameter param, StringSE message)
    • assertTargetBean

      protected void assertTargetBean(MethodSE method, ObjectSE targetBean, ObjectSE[] args)
      ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。場合によっては、リクエスト処理時の実際のエンドポイントインスタンスは JDK 動的プロキシ(遅延初期化、プロトタイプ Bean など)である場合があります。プロキシを必要とするエンドポイントクラスは、クラスベースのプロキシメカニズムを優先する必要があります。
    • formatInvokeError

      protected StringSE formatInvokeError(StringSE text, ObjectSE[] args)