gpt4 book ai didi

java - Spring 4 中的自定义属性编辑器

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:28 25 4
gpt4 key购买 nike

我正在将我的项目从 Spring 2.5.6 迁移到 Spring 4.0.6。以下是我们拥有的客户属性编辑器的 xml 定义。

<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="org.joda.time.DateTime">
<bean class="com.om.dh.util.joda.spring.DateTimeEditor">
<constructor-arg index="0">
<list>
<value>yyyyMMdd</value>
<value>yyyy-MM-dd</value>
</list>
</constructor-arg>
<constructor-arg index="1" value="true"/>
</bean>
</entry>
<entry key="org.joda.time.LocalDate">
<bean class="com.om.dh.util.joda.spring.LocalDateEditor">
<constructor-arg index="0">
<list>
<value>yyyyMMdd</value>
<value>yyyy-MM-dd</value>
</list>
</constructor-arg>
<constructor-arg index="1" value="true"/>
</bean>
</entry>
</map>
</property>
</bean>

但是,当我启动服务器时,我在日志中看到以下异常。

Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.util.LinkedHashMap' to required type 'java.util.Map' for property 'customEditors'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [com.om.dh.util.joda.spring.DateTimeEditor] to required type [java.lang.Class] for property 'customEditors[org.joda.time.DateTime]': PropertyEditor [org.springframework.beans.propertyeditors.ClassEditor] returned inappropriate value of type [com.om.dh.util.joda.spring.DateTimeEditor]    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:479)    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:511)    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:505)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1502)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1461)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1197)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)    ... 146 moreCaused by: java.lang.IllegalArgumentException: Cannot convert value of type [com.om.dh.util.joda.spring.DateTimeEditor] to required type [java.lang.Class] for property 'customEditors[org.joda.time.DateTime]': PropertyEditor [org.springframework.beans.propertyeditors.ClassEditor] returned inappropriate value of type [com.om.dh.util.joda.spring.DateTimeEditor]    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:263)    at org.springframework.beans.TypeConverterDelegate.convertToTypedMap(TypeConverterDelegate.java:623)    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:208)    at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:459)    ... 152 more

This is the list of spring jars I have in my classpath

ls lib/*spring*

lib/mina-integration-spring-1.1.7.jar
lib/spring-context-4.0.6.RELEASE.jar
lib/spring-integration-jms-4.0.3.RELEASE.jar
lib/spring-retry-1.1.0.RELEASE.jar
lib/spring-web-4.0.6.RELEASE.jar
lib/spring-aop-4.0.6.RELEASE.jar
lib/spring-context-support-4.0.6.RELEASE.jar
lib/spring-jdbc-4.0.6.RELEASE.jar
lib/spring-security-config-3.2.4.RELEASE.jar
lib/spring-webmvc-4.0.6.RELEASE.jar
lib/spring-batch-core-3.0.1.RELEASE.jar
lib/spring-core-4.0.6.RELEASE.jar
lib/spring-jms-4.0.6.RELEASE.jar
lib/spring-security-core-3.2.4.RELEASE.jar
lib/spring-webmvc-struts-2.5.6.jar
lib/spring-batch-infrastructure-3.0.1.RELEASE.jar
lib/spring-expression-4.0.6.RELEASE.jar
lib/spring-messaging-4.0.6.RELEASE.jar
lib/spring-security-web-3.2.4.RELEASE.jar
lib/spring-xml-1.5.5.jar
lib/spring-batch-integration-3.0.1.RELEASE.jar
lib/spring-flex-1.0.1.RELEASE.jar
lib/spring-orm-4.0.6.RELEASE.jar
lib/spring-test-4.0.6.RELEASE.jar
lib/struts2-spring-plugin-2.3.15.1.jar
lib/spring-beans-4.0.6.RELEASE.jar
lib/spring-integration-core-4.0.3.RELEASE.jar
lib/spring-oxm-1.5.5.jar
lib/spring-tx-4.0.6.RELEASE.jar

最佳答案

在Spring 2.5.6中customEditors是Map,但在Spring 4.0.6中改为Map, Class>。也许这篇文章可以帮助你:http://codeomitted.com/custompropertyeditor/

关于java - Spring 4 中的自定义属性编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25318096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com