パッケージ org.springframework.beans

クラス StandardBeanInfoFactory

java.lang.ObjectSE
org.springframework.beans.StandardBeanInfoFactory
実装されたすべてのインターフェース:
BeanInfoFactoryOrdered
既知の直属サブクラス
ExtendedBeanInfoFactory

public class StandardBeanInfoFactory extends ObjectSE implements BeanInfoFactory, Ordered
標準の IntrospectorSE インスペクション を実行する BeanInfoFactory 実装。

次の内容の META-INF/spring.factories ファイルを介して構成する: org.springframework.beans.BeanInfoFactory=org.springframework.beans.StandardBeanInfoFactory

Ordered.LOWEST_PRECEDENCE でオーダーし、他のユーザー定義の BeanInfoFactory 型を優先できるようにします。

導入:
6.0
作成者:
Juergen Hoeller
関連事項:
  • フィールドの詳細

    • IGNORE_BEANINFO_PROPERTY_NAME

      public static final StringSE IGNORE_BEANINFO_PROPERTY_NAME
      JavaBeans を呼び出すときに Spring に Introspector.IGNORE_ALL_BEANINFOSE モードを使用するように指示するシステムプロパティ IntrospectorSE:"spring.beaninfo.ignore"。値が "true" の場合、BeanInfo クラスの検索をスキップします(通常、最初のアプリケーションでそのようなクラスが Bean に対して定義されていないシナリオの場合)。場所)。

      標準の Introspector.getBeanInfo(Class)SE 呼び出しの場合と同様に、すべての BeanInfo メタデータクラスを考慮して、デフォルトは "false" です。起動時や遅延読み込みでこのようなアクセスに負荷がかかる場合に備えて、存在しない BeanInfo クラスに対する ClassLoader アクセスが繰り返される場合は、このフラグを "true" に切り替えることを検討してください。

      このような影響は、キャッシュが効果的に機能しないシナリオを示している可能性があることに注意してください。Spring jar がアプリケーションクラスと同じ ClassLoader に存在する配置を優先してください。これにより、アプリケーションのライフサイクルとともにクリーンなキャッシュが可能になります。Web アプリケーションの場合、マルチ ClassLoader レイアウトの場合、ローカル IntrospectorCleanupListener を web.xml で宣言することを検討してください。これにより、効果的なキャッシュも可能になります。

      関連事項:
  • コンストラクターの詳細

    • StandardBeanInfoFactory

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

    • getBeanInfo

      @NonNull public BeanInfoSE getBeanInfo(ClassSE<?> beanClass) throws IntrospectionExceptionSE
      インターフェースからコピーされた説明: BeanInfoFactory
      サポートされている場合、指定されたクラスの Bean 情報を返します。
      次で指定:
      インターフェース BeanInfoFactorygetBeanInfo 
      パラメーター:
      beanClass - Bean クラス
      戻り値:
      BeanInfo、または指定されたクラスがサポートされていない場合は null 
      例外:
      IntrospectionExceptionSE - 例外の場合
    • getOrder

      public int getOrder()
      インターフェースからコピーされた説明: Ordered
      このオブジェクトの順序値を取得します。

      値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup の値に多少似ています)。

      同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。

      次で指定:
      インターフェース OrderedgetOrder 
      戻り値:
      オーダー額
      関連事項: