クラス AbstractDetectingUrlHandlerMapping

実装されたすべてのインターフェース:
AwareBeanNameAwareApplicationContextAwareOrderedServletContextAwareMatchableHandlerMappingHandlerMapping
既知の直属サブクラス
BeanNameUrlHandlerMapping

public abstract class AbstractDetectingUrlHandlerMapping extends AbstractUrlHandlerMapping
HandlerMapping インターフェースの抽象的な実装。アプリケーションコンテキストで定義されたすべての Bean のイントロスペクションを通じてハンドラー Bean の URL マッピングを検出します。
導入:
2.5
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • AbstractDetectingUrlHandlerMapping

      public AbstractDetectingUrlHandlerMapping()
  • メソッドの詳細

    • setDetectHandlersInAncestorContexts

      public void setDetectHandlersInAncestorContexts(boolean detectHandlersInAncestorContexts)
      祖先 ApplicationContexts でハンドラー Bean を検出するかどうかを設定します。

      デフォルトは「false」: 現在の ApplicationContext のハンドラー Bean のみが検出されます。つまり、この HandlerMapping 自体が定義されているコンテキスト(通常は現在の DispatcherServlet のコンテキスト)のみです。

      このフラグをオンにして、祖先コンテキスト(通常は Spring ルート WebApplicationContext)のハンドラー Bean も検出します。

    • initApplicationContext

      public void initApplicationContext() throws ApplicationContextException
      スーパークラスの初期化に加えて、detectHandlers() メソッドを呼び出します。
      オーバーライド:
      クラス AbstractHandlerMappinginitApplicationContext 
      例外:
      ApplicationContextException - 初期化エラーの場合
      関連事項:
    • detectHandlers

      protected void detectHandlers() throws BeansException
      現在の ApplicationContext にあるすべてのハンドラーを登録します。

      ハンドラーの実際の URL 決定は、具体的な determineUrlsForHandler(String) 実装によって異なります。そのような URL を決定できなかった Bean は、単にハンドラーとは見なされません。

      例外:
      BeansException - ハンドラーを登録できなかった場合
      関連事項:
    • determineUrlsForHandler

      protected abstract StringSE[] determineUrlsForHandler(StringSE beanName)
      指定されたハンドラー Bean の URL を判別します。
      パラメーター:
      beanName - 候補者 Bean の名前
      戻り値:
      Bean 用に決定された URL。存在しない場合は空の配列