Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'addGroupAddressAction' defined in ServletContext resource [/WEB-INF/applicationContext-action.xml]: Cannot resolve reference to bean 'usersDao' while setting bean property 'usersDao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersDao' defined in ServletContext resource [/WEB-INF/applicationContext-manager.xml]: Cannot resolve reference to bean 'sessionFactory2' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory2' defined in ServletContext resource [/WEB-INF/applicationContext-common.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [classpath:com.group.bean.groupAddress.hbm.xml>] cannot be opened because it does not exist

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersDao' defined in ServletContext resource [/WEB-INF/applicationContext-manager.xml]: Cannot resolve reference to bean 'sessionFactory2' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory2' defined in ServletContext resource [/WEB-INF/applicationContext-common.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [classpath:com.group.bean.groupAddress.hbm.xml>] cannot be opened because it does not exist

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory2' defined in ServletContext resource [/WEB-INF/applicationContext-common.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [classpath:com.group.bean.groupAddress.hbm.xml>] cannot be opened because it does not exist

。。Caused by: java.io.FileNotFoundException: class path resource [classpath:com.group.bean.groupAddress.hbm.xml>] cannot be opened because it does not exist
  配置文件:
<!--配置数据源1  -->         
<bean id="dataSource1" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@192.168.1.209:1521:ORATEST" />
<property name="username" value="cmsdata" />
<property name="password" value="cmsdata" />
</bean>
<!-- 配置邮件的数据源 -->
<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
 <property name="url" value="jdbc:oracle:thin:@192.168.1.209:1521:ORATEST" />

<property name="username" value="oadata" />
<property name="password" value="oadata" />
</bean>
<bean id="sessionFactory1"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource1" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
</props>
</property>

<property name="mappingResources">
<list>
<value>com/surfing/bean/AuthorityBean.hbm.xml</value>
<value>com/surfing/bean/SystemBean.hbm.xml</value>
<value>com/surfing/bean/User.hbm.xml</value>
<value>com/surfing/bean/MngUserItems.hbm.xml</value>
<value>com/surfing/bean/MenuGroup.hbm.xml</value>
<value>com/surfing/bean/Item.hbm.xml</value>
<value>com/surfing/bean/UserItemBean.hbm.xml</value>

    </list>
</property>
</bean>
<bean id="sessionFactory2"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource2" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
</props>
</property>

<property name="mappingResources">
<list>
<value>classpath:com.group.bean.groupAddress.hbm.xml></value>
<value>classpath:com.group.bean.groupdefine.hbm.xml></value>
<value>classpath:com.users.bean.user.hbm.xml></value>
</list>
</property>
</bean>
<!-- 定义事务管理器(声明式的事务) -->
<bean id="transactionManager1"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"><ref bean="sessionFactory1" /></property>
</bean>
<bean id="transactionManager2"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"><ref bean="sessionFactory2"/></property>
</bean>
  <!-- 配置事务的传播特性 -->
 <!-- 增加removeAll方法的事务配置 -->
 <tx:advice id="txAdvice1" transaction-manager="transactionManager1">
  <tx:attributes>
   <tx:method name="save" propagation="REQUIRED"/>
   <tx:method name="add" propagation="REQUIRED"/>
   <tx:method name="delete" propagation="REQUIRED"/>
   <tx:method name="deleteAuthority" propagation="REQUIRED"/>
   <tx:method name="removeAll" propagation="REQUIRED"/>
   <tx:method name="update" propagation="REQUIRED"/>
   <tx:method name="loadInitDataToSql" propagation="REQUIRED"/>
  </tx:attributes>
 </tx:advice>
 
 <tx:advice id="txAdvice2" transaction-manager="transactionManager2">
  <tx:attributes>
  <tx:method name="delUserByUsername" propagation="REQUIRED"/>
  </tx:attributes>
 </tx:advice>
  <!-- 那些类的哪些方法参与事务 -->
 <aop:config>
  <aop:pointcut id="allManagerMethod1" expression="execution(* com.surfing.daoImpl.*.*(..))"/>
  <aop:advisor pointcut-ref="allManagerMethod1" advice-ref="txAdvice1"/>
 </aop:config>
   <aop:config>
  <aop:pointcut id="allManagerMethod2" expression="execution(* com.users.dao.imp.*.*(..))"/>
  <aop:advisor pointcut-ref="allManagerMethod2" advice-ref="txAdvice2"/>
 </aop:config>    配置的action 
    <bean id="addGroupAddressAction" class="com.group.action.addGroupAddressAction">
  <property name="usersDao" ref="usersDao"></property>
  <property name="groupAddressDao" ref="groupAddressDao"></property>
 </bean>
   <bean id="addGroupDefineAction" class="com.group.action.addGroupDefineAction">
  <property name="groupDefineDao" ref="groupDefineDao"></property>
 </bean>
<bean id="groupAddressAction" class="com.group.action.groupAddressAction">
  <property name="groupAddressDao" ref="groupAddressDao"></property>
 </bean>
<bean id="groupDefineAction" class="com.group.action.groupDefineAction">
  <property name="groupDefineDao" ref="groupDefineDao"></property>
 </bean>
 <!--配置用户action  -->
  <bean id="addUserAction" class="com.users.action.addUserAction">
  <property name="usersDao" ref="usersDao"></property>
 </bean>
  <bean id="userAction" class="com.users.action.userAction">
  <property name="usersDao" ref="usersDao"></property>
 </bean>
       DAO的配置:
<bean id="iloginDAO" class="com.surfing.daoImpl.LoginDAOImpl">
<property name="sessionFactory"><ref bean="sessionFactory1"/></property>
</bean>

<!--DAO的注入  -->
<bean id="groupAddressDao" class="com.group.dao.imp.groupAddressDaoImp">
<property name="sessionFactory"><ref bean="sessionFactory2"/></property>
</bean>
<bean id="groupDefineDao" class="com.group.dao.imp.groupDefineDaoImp">
<property name="sessionFactory"><ref bean="sessionFactory2"/></property>
</bean>
<bean id="usersDao" class="com.users.dao.imp.userDaoImp">
<property name="sessionFactory"><ref bean="sessionFactory2"/></property>
</bean>

解决方案 »

  1.   

    sessionFactory和sessionFactory2是怎么回事。
    cannot   be   opened   because   it   does   not   exist ,这个配置文件路径也不对。
    仔细读你配置文件。
      

  2.   

    classpath:com.group.bean.groupAddress.hbm.xml找不到
    <bean   id= "usersDao "   class= "com.users.dao.imp.userDaoImp "> 
    <property   name= "sessionFactory2 "> <ref   bean= "sessionFactory2 "/> </property> 
    </bean> 
      

  3.   

    我也遇到同样的问题了,我看了一下是因为部署的时候java文件没有编译,就是tomcat部署目录下面那个classes文件是空的,所有它找不到com.group.bean.groupAddress.hbm.xml, 你看一下这个文件是不是在hibernate那个配置文件中第一个引入的?我也纳闷它为什么不编译呢?