当前位置: 首页 > 知识库问答 >
问题:

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

轩辕乐邦
2023-03-14

我正在将我的项目从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 more
Caused 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

这是我班级里Spring罐子的清单

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

共有1个答案

花博厚
2023-03-14

在Spring2.5。6个自定义编辑器是Map,但在Spring4.0中。6将其更改为地图,类

 类似资料:
  • 试图向OpenLDAP添加一个新属性,但总是碰壁。我正在尝试向架构添加ipPhone属性,因为我不能在默认的telephoneNumber属性中包含*数字。 下面是我的LDIF文件,用于创建新属性并将其与objectClass类似。 我已经测试和谷歌了几个小时,但一直无法解决这个问题或找出我错过了什么!

  • 在 Dreamweaver 的模板中指定可编辑的标签属性。此外,了解如何将可编辑的标签设置为不可编辑。 您可以允许模板用户在根据模板创建的文档中修改指定的标签属性。 例如,您可以在模板文档中设置背景颜色,但仍允许模板用户为他们创建的页面设置不同的背景颜色。用户只能更新您指定为可编辑的属性。 您还可以在页面中设置多个可编辑属性,这样,模板用户就可以在基于模板的文档中修改这些属性。支持的数据类型如下:

  • 在“SQL 编辑器”选项卡,你可以创建和编辑视图的 SELECT 语句 SQL。Navicat Data Modeler 为编辑视图定义提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置 sql 格式及更多。 【提示】当你在视图创建工具创建视图,SELECT 语句将会自动生成。 美化 SQL(仅适用于非 Essentials 版) 若要格式化凌乱的 SQL 代码到一个结构良好的脚本,你

  • 问题内容: 调用我时出现以下错误: org.apache.jasper.JasperException:无法将字符串“ ”转换为属性“ att1”的类“ javax.servlet.jsp.tagext.JspFragment”:属性编辑器未向PropertyEditorManager (详细的堆栈跟踪无关紧要) 我正在使用J2EE 1.4服务器(即JSP 2.0) 我的 使用此标记的jsp :

  • 本文向大家介绍C#自定义属性,包括了C#自定义属性的使用技巧和注意事项,需要的朋友参考一下 示例 查找具有自定义属性的属性-MyAttribute 查找给定属性上的所有自定义属性 枚举具有自定义属性的所有类-MyAttribute 在运行时读取自定义属性的值 用法            

  • 自定义标签的意义在于方便管理,可以给SIM卡增加一个标签,并且针对某个标签进行统计、查询及管理。支持批量操作。 设置号码自定义标签 支持针对订单、针对iccid进行自定义标签的设置。 号码详情页查询/设置自定义标签 号码详情页,可以查看当前号码已设置的自定义标签,并且可以针对其添加、修改。 自定义标签管理 可以增加、修改、删除自定义属性及其值。