2012-03-05 52 views
2

我的spring bean數據庫連接myDataSource如下。我得到異常 我如何解決這個例外。 RoomUser位於正確的位置。 我嘗試更改標籤,但現在使用。無法將[java.util.ArrayList]類型的屬性值轉換爲屬性'java.lang.Class []]'annotatedClasses'

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="myDataSource" /> 
    <property name="annotatedClasses"> 
     <list> 
      <value>com.room.user.beans.RoomUser</value> 
      <value>com.room.user.beans.RoomUserType</value> 
     </list> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> 
     </props> 
    </property> 
</bean> 

的例外是:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.util.ArrayList] to required type [java.lang.Class[]] for property 'annotatedClasses'; nested exception is java.lang.IllegalArgumentException: Cannot find class [com.room.user.beans.RoomUser] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:483) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:412) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:383) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:276) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:273) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:175) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:479) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:716) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:377) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:427) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:341) 
+4

「RoomUser在正確的位置」 - 不,不是,否則這個錯誤不會發生。 – skaffman 2012-03-05 10:41:33

回答

2

沒有,只有你的模型類的問題。 spring無法在您的application-context.xml文件中找到class RoomUser

<list> 
     <value>com.room.user.beans.RoomUser</value> 
     <value>com.room.user.beans.RoomUserType</value> 
    </list> 

我也遇到了同樣的問題。檢查RoomUser是否在正確的包裝中?

+0

只有相同的包裝 – umapathi 2017-07-14 13:23:39

相關問題