クラス ControllerAdviceBean
java.lang.ObjectSE
org.springframework.web.method.ControllerAdviceBean
- 実装されたすべてのインターフェース:
Ordered
必ずしもインスタンス化する必要はなく、
@ControllerAdvice
Spring 管理の Bean に関する情報をカプセル化します。findAnnotatedBeans(ApplicationContext)
メソッドを使用して、このような Bean を検出できます。 このクラスは Spring Framework の内部クラスであり、アプリケーションが手動で @ControllerAdvice
Bean を作成するために使用するためのものではありません。
- 導入:
- 3.2
- 作成者:
- Rossen Stoyanchev, Brian Clozel, Juergen Hoeller, Sam Brannen
フィールドのサマリー
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクターコンストラクター説明ControllerAdviceBean
(StringSE beanName, BeanFactory beanFactory, ControllerAdvice controllerAdvice) メソッドのサマリー
修飾子と型メソッド説明boolean
static ListSE<ControllerAdviceBean>
findAnnotatedBeans
(ApplicationContext context) 指定されたApplicationContext
で@ControllerAdvice
のアノテーションが付けられた Bean を見つけ、ControllerAdviceBean
インスタンスとしてラップします。ClassSE<?>
含まれている Bean の型を返します。int
getOrder()
含まれている Bean のオーダー値を取得します。int
hashCode()
boolean
isApplicableToBeanType
(ClassSE<?> beanType) 指定された Bean 型がこのControllerAdviceBean
によって通知される必要があるかどうかを確認します。このControllerAdviceBean
の Bean インスタンスを取得します。必要に応じて、BeanFactory
を介して Bean 名を解決します。toString()
コンストラクターの詳細
ControllerAdviceBean
public ControllerAdviceBean(StringSE beanName, BeanFactory beanFactory, ControllerAdvice controllerAdvice) - パラメーター:
beanName
- Bean の名前beanFactory
- 最初に Bean 型を取得し、後で実際の Bean を解決するBeanFactory
controllerAdvice
- Bean の@ControllerAdvice
アノテーション- 導入:
- 5.2
メソッドの詳細
getOrder
public int getOrder()含まれている Bean のオーダー値を取得します。Spring Framework 5.3 以降、オーダー値は次のアルゴリズムを使用して遅延検索され、キャッシュされます。ただし、スコープ付き Bean として構成されている
@ControllerAdvice
Bean- たとえば、リクエストスコープまたはセッションスコープの Bean として - 先行して解決されることはありません。Ordered
は、スコープ付き@ControllerAdvice
Bean には適用されません。- 解決された Bean が
Ordered
を実装している場合は、Ordered.getOrder()
から返された値を使用します。 - ファクトリメソッドがわかっている場合は、
OrderUtils.getOrder(AnnotatedElement)
によって返される値を使用します。 - Bean 型がわかっている場合は、
Ordered.LOWEST_PRECEDENCE
をデフォルトのオーダー値として使用し、OrderUtils.getOrder(Class, int)
から返された値を使用します。 - それ以外の場合は、デフォルトのフォールバックオーダー値として
Ordered.LOWEST_PRECEDENCE
を使用します。
- 解決された Bean が
getBeanType
含まれている Bean の型を返します。Bean 型が CGLIB 生成クラスである場合、元のユーザー定義クラスが返されます。
resolveBean
このControllerAdviceBean
の Bean インスタンスを取得します。必要に応じて、BeanFactory
を介して Bean 名を解決します。Bean インスタンスが解決されると、それがシングルトンであればキャッシュされ、
BeanFactory
での繰り返し検索が回避されます。isApplicableToBeanType
指定された Bean 型がこのControllerAdviceBean
によって通知される必要があるかどうかを確認します。- パラメーター:
beanType
- チェックする Bean の型- 導入:
- 4.0
- 関連事項:
equals
hashCode
public int hashCode()toString
findAnnotatedBeans
指定されたApplicationContext
で@ControllerAdvice
のアノテーションが付けられた Bean を見つけ、ControllerAdviceBean
インスタンスとしてラップします。返されるリスト内の
ControllerAdviceBean
インスタンスはOrderComparator.sort(List)
を使用してソートされることに注意してください。