java - org.springframework.beans.TypeMismatchException : Failed to convert value 'java.lang.String' to 'java.lang.Class' spring

标签 java spring hibernate spring-mvc tomcat

我不知道为什么在我启动我的应用程序时 spring 会给我这个错误。我已经在包中定义了java类,并通过bean注入(inject)在xml文件中调用它。

这是bean注入(inject)

 <bean id="sessionFactory"
          class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="annotatedClasses">
            <list>
                <value type="java.lang.Class">main.com.mpakhomov.chat.domain.User</value>
                <value type="java.lang.Class">main.com.mpakhomov.chat.domain.ChatMessage</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
                <prop key="hibernate.connection.pool_size">${hibernate.connection.pool_size}</prop>
            </props>
        </property>
    </bean>

这是我在尝试启动我的应用程序时遇到的错误的完整堆栈跟踪。

Caused by: org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Class'; nested exception is java.lang.IllegalArgumentException: Cannot find class [main.com.mpakhomov.chat.domain.User]
    at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:74)
    at org.springframework.beans.TypeConverterSupport.convertIfNecessary(TypeConverterSupport.java:39)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:187)  

假设类是在包中定义的,那么当我启动我的应用程序时会出现什么问题?

最佳答案

我猜你在声明实体包时是错误的:

如果你的包是com.mpakhomov.*,你应该更换

<list>
    <value type="java.lang.Class">main.com.mpakhomov.chat.domain.User</value>
    <value type="java.lang.Class">main.com.mpakhomov.chat.domain.ChatMessage</value>
</list>

<list>
    <value type="java.lang.Class">com.mpakhomov.chat.domain.User</value>
    <value type="java.lang.Class">com.mpakhomov.chat.domain.ChatMessage</value>
</list>

关于java - org.springframework.beans.TypeMismatchException : Failed to convert value 'java.lang.String' to 'java.lang.Class' spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38465173/

相关文章:

java - 创建配置的示例

mysql - 选择题考试的数据库结构

java - Oracle 12c 的 hibernate 方言

java - JPA:我看不到刚刚添加的实体

java - hibernate/HSQLDB : User lacks priviledges to create constraints

spring - Spring Kafka 和 Spring Integration Kafka 的区别

java - Spring Dao和Dao patter在异常处理上的冲突

java - 运行 nokia 6212 模拟器时出现内部 RMI 注册表端口问题

java - 列出用法而不指定类型

java - Hibernate继承查询仅针对基类型