クラス CustomEditorConfigurer
- 実装されたすべてのインターフェース:
BeanFactoryPostProcessor
,Ordered
property editors
SE の便利な登録を可能にする BeanFactoryPostProcessor
実装。PropertyEditor
SE インスタンスを登録する場合、Spring 2.0 の時点での推奨される使用箇所は、カスタム 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
プロパティを介して PropertyEditor
SE クラスを登録しても問題ありません。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>
PropertyEditors
SE はステートフルであるため、PropertyEditor
SE Bean インスタンスは customEditors
プロパティを介して登録しないでください。インスタンスを編集するたびにインスタンスを同期する必要があります。PropertyEditors
SE のインスタンス化プロセスを制御する必要がある場合は、PropertyEditorRegistrar
を使用して登録します。
また、"java.lang.String[]" -style 配列クラス名とプリミティブクラス名 ( "boolean" など) もサポートします。実際のクラス名の解決は ClassUtils
に委譲します。
注 : この構成に登録されているカスタムプロパティエディターは、データバインディングには適用されません。データバインディング用のカスタムエディターは DataBinder
に登録する必要があります。共通の基本クラスを使用するか、共通の PropertyEditorRegistrar 実装に委譲して、そこでエディターの登録を再利用します。
- 導入:
- 27.02.2004
- 作成者:
- Juergen Hoeller
- 関連事項:
PropertyEditor
SEPropertyEditorRegistrar
ConfigurableBeanFactory.addPropertyEditorRegistrar(org.springframework.beans.PropertyEditorRegistrar)
ConfigurableBeanFactory.registerCustomEditor(java.lang.Class<?>, java.lang.Class<? extends java.beans.PropertyEditor>)
DataBinder.registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor)
フィールドサマリー
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明int
getOrder()
このオブジェクトの順序値を取得します。void
postProcessBeanFactory
(ConfigurableListableBeanFactory beanFactory) 標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。void
setCustomEditors
(MapSE<ClassSE<?>, ClassSE<? extends PropertyEditorSE>> customEditors) 必要な型のクラス名をキーとして使用し、関連するPropertyEditor
SE のクラス名を値として使用して、Map
SE を介して登録するカスタムエディターを指定します。void
setOrder
(int order) void
setPropertyEditorRegistrars
(PropertyEditorRegistrar[] propertyEditorRegistrars) 現在のアプリケーションコンテキスト内で定義された Bean に適用するPropertyEditorRegistrars
を指定します。
フィールドの詳細
logger
コンストラクターの詳細
CustomEditorConfigurer
public CustomEditorConfigurer()
メソッドの詳細
setOrder
public void setOrder(int order) getOrder
public int getOrder()インターフェースからコピーされた説明:Ordered
このオブジェクトの順序値を取得します。値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット
load-on-startup
の値に多少似ています)。同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
setPropertyEditorRegistrars
現在のアプリケーションコンテキスト内で定義された Bean に適用するPropertyEditorRegistrars
を指定します。これにより、
PropertyEditorRegistrars
をDataBinders
などと共有できます。さらに、カスタムエディターで同期する必要がなくなります。PropertyEditorRegistrar
は、Bean を作成するたびに常に新しいエディターインスタンスを作成します。setCustomEditors
必要な型のクラス名をキーとして使用し、関連するPropertyEditor
SE のクラス名を値として使用して、Map
SE を介して登録するカスタムエディターを指定します。postProcessBeanFactory
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException インターフェースからコピーされた説明:BeanFactoryPostProcessor
標準の初期化後に、アプリケーションコンテキストの内部 Bean ファクトリを変更します。すべての Bean 定義はロードされますが、Bean はまだインスタンス化されていません。これにより、先行初期化する Bean に対してもプロパティをオーバーライドまたは追加できます。- 次で指定:
- インターフェース
BeanFactoryPostProcessor
のpostProcessBeanFactory
- パラメーター:
beanFactory
- アプリケーションコンテキストで使用される Bean ファクトリ- 例外:
BeansException
- エラーの場合