クラス CustomEditorConfigurer
- 実装されているすべてのインターフェース:
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
- 関連事項:
フィールドのサマリー
フィールドインターフェース Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明intgetOrder()このオブジェクトの順序値を取得します。voidpostProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。voidsetCustomEditors(MapSE<ClassSE<?>, ClassSE<? extends PropertyEditorSE>> customEditors) 必要な型のクラス名をキーとして使用し、関連するPropertyEditorSE のクラス名を値として使用して、MapSE を介して登録するカスタムエディターを指定します。voidsetOrder(int order) voidsetPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars) 現在のアプリケーションコンテキスト内で定義された Bean に適用するPropertyEditorRegistrarsを指定します。
フィールドの詳細
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
CustomEditorConfigurer
public CustomEditorConfigurer()
メソッドの詳細
setOrder
public void setOrder(int order) getOrder
setPropertyEditorRegistrars
現在のアプリケーションコンテキスト内で定義された Bean に適用するPropertyEditorRegistrarsを指定します。これにより、
PropertyEditorRegistrarsをDataBindersなどと共有できます。さらに、カスタムエディターで同期する必要がなくなります。PropertyEditorRegistrarは、Bean を作成するたびに常に新しいエディターインスタンスを作成します。- 関連事項:
setCustomEditors
必要な型のクラス名をキーとして使用し、関連するPropertyEditorSE のクラス名を値として使用して、MapSE を介して登録するカスタムエディターを指定します。- 関連事項:
postProcessBeanFactory
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException インターフェースからコピーされた説明:BeanFactoryPostProcessor標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。すべての Bean 定義はロードされますが、Bean はまだインスタンス化されていません。これにより、先行初期化する Bean に対してもプロパティをオーバーライドまたは追加できます。- 次で指定:
- インターフェース
BeanFactoryPostProcessorのpostProcessBeanFactory - パラメーター:
beanFactory- アプリケーションコンテキストで使用される Bean ファクトリ- 例外:
BeansException- エラーの場合