クラス CustomEditorConfigurer

java.lang.ObjectSE
org.springframework.beans.factory.config.CustomEditorConfigurer
実装されているすべてのインターフェース:
BeanFactoryPostProcessor, Ordered

public class CustomEditorConfigurer extends ObjectSE implements BeanFactoryPostProcessor, Ordered
カスタム property editorsSE の便利な登録を可能にする BeanFactoryPostProcessor 実装。

PropertyEditorSE インスタンスを登録する場合は、カスタム PropertyEditorRegistrar 実装を使用して、任意のエディターインスタンスを特定の registry に登録することをお勧めします。各 PropertyEditorRegistrar は、任意の数のカスタムエディターを登録できます。

<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
  <property name="propertyEditorRegistrars">
    <list>
      <bean class="mypackage.MyCustomDateEditorRegistrar"/>
      <bean class="mypackage.MyObjectEditorRegistrar"/>
    </list>
  </property>
</bean>

customEditors プロパティを介して PropertyEditorSE クラスを登録しても問題ありません。Spring は、編集を試行するたびにそれらの新しいインスタンスを作成します。

<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
  <property name="customEditors">
    <map>
      <entry key="java.util.Date" value="mypackage.MyCustomDateEditor"/>
      <entry key="mypackage.MyObject" value="mypackage.MyObjectEditor"/>
    </map>
  </property>
</bean>

PropertyEditorsSE はステートフルであるため、PropertyEditorSE Bean インスタンスは customEditors プロパティを介して登録しないでください。インスタンスを編集するたびにインスタンスを同期する必要があります。PropertyEditorsSE のインスタンス化プロセスを制御する必要がある場合は、PropertyEditorRegistrar を使用して登録します。

また、"java.lang.String[]" -style 配列クラス名とプリミティブクラス名 ( "boolean" など) もサポートします。実際のクラス名の解決は ClassUtils に委譲します。

: この構成に登録されているカスタムプロパティエディターは、データバインディングに適用されませ。データバインディング用のカスタムエディターは DataBinder に登録する必要があります。共通の基本クラスを使用するか、共通の PropertyEditorRegistrar 実装に委譲して、そこでエディターの登録を再利用します。

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

    • logger

      protected final org.apache.commons.logging.Log logger
  • コンストラクターの詳細

    • CustomEditorConfigurer

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

    • setOrder

      public void setOrder(int order)
    • getOrder

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

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

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

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

      public void setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars)
      現在のアプリケーションコンテキスト内で定義された Bean に適用する PropertyEditorRegistrars を指定します。

      これにより、PropertyEditorRegistrars を DataBinders などと共有できます。さらに、カスタムエディターで同期する必要がなくなります。PropertyEditorRegistrar は、Bean を作成するたびに常に新しいエディターインスタンスを作成します。

      関連事項:
    • setCustomEditors

      public void setCustomEditors(MapSE<ClassSE<?>, ClassSE<? extends PropertyEditorSE>> customEditors)
      必要な型のクラス名をキーとして使用し、関連する PropertyEditorSE のクラス名を値として使用して、MapSE を介して登録するカスタムエディターを指定します。
      関連事項:
    • postProcessBeanFactory

      public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
      インターフェースからコピーされた説明: BeanFactoryPostProcessor
      標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。すべての Bean 定義はロードされますが、Bean はまだインスタンス化されていません。これにより、先行初期化する Bean に対してもプロパティをオーバーライドまたは追加できます。
      次で指定:
      インターフェース BeanFactoryPostProcessorpostProcessBeanFactory 
      パラメーター:
      beanFactory - アプリケーションコンテキストで使用される Bean ファクトリ
      例外:
      BeansException - エラーの場合