2017-10-28 151 views
0

您好我已经实现了spring和hibernate整合我有一个例外,同时集成的例外是:异常运行春季休眠应用

请帮我解决这个异常:

Exception in thread "main" java.lang.ExceptionInInitializerError 
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:194) 
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:127) 
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395) 
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
at test.InsertTest.main(InsertTest.java:14) 

这里是xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 


    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> 
     <property name="url" value="jdbc:mysql://localhost:3306/test"></property> 
     <property name="username" value="root"></property> 
     <property name="password" value="root"></property> 
    </bean> 

    <bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"></property> 

     <property name="mappingResources"> 
     <list> 
     <value>employee.hbm.xml</value> 
     </list> 
     </property> 

     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
       <prop key="hibernate.hbm2ddl.auto">update</prop> 
       <prop key="hibernate.show_sql">true</prop> 

      </props> 
     </property> 
    </bean> 

    <bean id="template" class="org.springframework.orm.hibernate3.HibernateTemplate"> 
    <property name="sessionFactory" ref="mysessionFactory"></property> 
    </bean> 

    <bean id="d" class="test.EmployeeDao"> 
    <property name="template" ref="template"></property> 
    </bean> 


    </beans> 

这里的示例程序:

> 
package test; 

import org.springframework.beans.factory.BeanFactory; 

import org.springframework.beans.factory.xml.XmlBeanFactory; 

import org.springframework.context.ApplicationContext; 

import org.springframework.context.support.ClassPathXmlApplicationContext; 

import org.springframework.core.io.ClassPathResource; 

import org.springframework.core.io.Resource; 

public class InsertTest { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     // Resource r=new ClassPathResource("test.xml"); 
      // BeanFactory factory=new XmlBeanFactory(r);  
     ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");  
     EmployeeDao dao=(EmployeeDao)context.getBean("d"); 
      Employee e=new Employee(); 
      e.setId(114); 
      e.setName("varun"); 
      e.setSalary(50000);  
      dao.saveEmployee(e); 
    } 

} 
+0

这是完整的异常堆栈跟踪?在这部分跟踪下面应该有一个“由...引起”。 – Vasan

+0

没有显示它只显示完整的堆栈跟踪这里是堆栈跟踪的屏幕截图:http://i.prntscr.com/tMMIezsXSDunb8cSVXmybg.png –

+0

你可以检查'applicationContext.xml'是否在类路径和可读?或者尝试使用'FileSystemXmlApplicationContext'并提供完整路径,而不是'ClassPathXmlApplicationContext'。如果这不能解决它,请将您的java/spring版本和JAR发布到classpath中。这可能是JAR冲突或老春天的一个已知问题。 – Vasan

回答

0

只是删除所有已添加的JAR文件,然后尝试在每个jar文件仔细不会添加已经添加jar文件,这将工作我已经测试和工作矿山