6

アプリケーションの起動中に、次の警告メッセージが表示されます(数十回)。

Dec 08, 2012 5:10:41 PM org.springframework.beans.TypeConverterDelegate findDefaultEditor
WARNING: PropertyEditor [sun.beans.editors.EnumEditor] found through deprecated global PropertyEditorManager fallback - consider using a more isolated form of registration, e.g. on the BeanWrapper/BeanFactory!

グーグルはそれが非常に一般的なメッセージであることを示していますが、残念ながらそれが起こる理由を示していません。これらの警告を回避するにはどうすればよいですか?

Springバージョン2.5.6。

4

2 に答える 2

8

カスタムエディタの追加で警告が修正されました:

public final class EnumPropertyEditor extends PropertyEditorSupport {

    public EnumPropertyEditor() {
    }

    @Override
    public String getAsText() {
       return (String) getValue();
    }

    @Override
    public void setAsText(String text) throws IllegalArgumentException {
       setValue(text);
   }
}

構成:

<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
    <property name="customEditors">
        <map>
            <entry key="java.lang.Enum">
                <bean class="package.EnumPropertyEditor">
                </bean>
            </entry>
        </map>
    </property>
</bean>
于 2013-01-19T07:52:48.030 に答える
3

これは、Spring に登録されたプロパティ エディターを使用する代わりに、非推奨のフォールバック メソッドを使用して列挙型のプロパティ エディターを検索していること、および説明されているメカニズムを使用して、列挙型専用のプロパティ エディターを使用し、それを Spring に登録することを検討する必要があることを示しています。ドキュメントで。

そうしないと、Spring がこのフォールバック メカニズムを使用できなくなるため、Spring の将来のバージョンでコードが正しく機能しなくなります。

とはいえ、 の 3.1.x バージョンにはまだこのフォールバック メカニズムがあります。

于 2012-12-08T12:07:18.943 に答える