我在设置spring hibernate application-context.xml时遇到了麻烦 [英] I have trouble setting up spring hibernate application-context.xml

查看:125
本文介绍了我在设置spring hibernate application-context.xml时遇到了麻烦的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里尝试集成spring hibernate。这是我想要运行的简单示例。我在运行时遇到错误帮助。


EmployeeDAO.java




  package com.spring.hibernate.dao; 

import com.spring.hibernate.bean.EmployeeBean;
import org.springframework.orm.hibernate3.HibernateTemplate;

公共类EmployeeDAO {
HibernateTemplate模板;

public void setTemplate(HibernateTemplate template){
this.template = template;
}

public void saveEmployee(EmployeeBean e){
template.save(e);
}

public void deleteEmployee(EmployeeBean e){
template.delete(e);
}

public void updateEmployee(EmployeeBean e){
template.update(e);
}
}




EmployeeBean.java




  package com.spring.hibernate.bean; 


公共类EmployeeBean {
private int emp_id,emp_age;

public int getEmp_id(){
return emp_id;
}

public void setEmp_id(int emp_id){
this.emp_id = emp_id;
}

public int getEmp_age(){
return emp_age;
}

public void setEmp_age(int emp_age){
this.emp_age = emp_age;
}

public String getEmp_name(){
return emp_name;
}

public void setEmp_name(String emp_name){
this.emp_name = emp_name;
}

public String getEmp_address(){
return emp_address;
}

public void setEmp_address(String emp_address){
this.emp_address = emp_address;
}

public float getEmp_salary(){
return emp_salary;
}

public void setEmp_salary(float emp_salary){
this.emp_salary = emp_salary;
}
private String emp_name,emp_address;
private float emp_salary;
}




SpringHibernateConsoole.java




  package spring.hibernate.console; 

import com.spring.hibernate.bean.EmployeeBean;
import com.spring.hibernate.dao.EmployeeDAO;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

公共类SpringHibernateConsole {


public static void main(String [] args){

Resource res = new ClassPathResource(的applicationContext.xml);

BeanFactory beanFactory = new XmlBeanFactory(res);

EmployeeDAO dao =(EmployeeDAO)beanFactory.getBean(d);

EmployeeBean emp = new EmployeeBean();
emp.setEmp_id(23);
emp.setEmp_name(amit);
emp.setEmp_salary(15224);
emp.setEmp_address(Ramakrishrna apratment new delhi);
dao.saveEmployee(emp);

}

}




applicationContext.xml




 <?xml version =1.0encoding = 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 =myDataSourceclass =org.apache.commons.dbcp.BasicDataSource>
< property name =dirverClassNamevalue =com.microsoft.sqlserver.jdbc.SQLServerDriver>< / property>
< property name =urlvalue =jdbc:sqlserver:// localhost:1433; databaseName = BFPL; instanceName = SQLEXPRESS;>< / property>
< property name =usernamevalue =appuser>< / property>
< property name =passwordvalue =commando>< / property>
< / bean>

< bean id =mySessionFactoryclass =org.springframework.orm.hibernate3.LocalSessionFactoryBean>
< property name =dataSourceref =myDataSource>< / property>
< property name =mappingResources>
< list>
< value> employee.hbm.xml< / value>
< / list>
< / property>

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

< / bean>

< bean id =myTemplateclass =org.springframework.orm.hibernate3.HibernateTemplate>
< property name =sessionFactoryref =mySessionFactory>< / property>

< / bean>

< bean id =dclass =com.spring.hibernate.dao.EmployeeDAO>
< property name =templateref =myTemplate>< / property>
< / bean>

< / beans>




employee.hbm




 <?xml version ='1.0'coding ='UTF-8'?> 
<!DOCTYPE hibernate-mapping PUBLIC
- // Hibernate / Hibernate Mapping DTD 3.0 // EN
http://hibernate.sourceforge.net/hibernate-mapping-3.0 .dtd>

< hibernate-mapping>
< class name =com.spring.hibernate.bean.EmployeeBean>
< id name =emp_id>
< generator class =assigned>< / generator>
< / id>
< property name =emp_name>< / property>
< property name =emp_salary>< / property>
< property name =emp_address>< / property>
< property name =emp_age>< / property>
< / class>

< / hibernate-mapping>




错误:(已更新)




  run:
log4j:WARN找不到logger的追加程序(org.springframework.core.env.StandardEnvironment) 。
log4j:WARN请正确初始化log4j系统。
线程main中的异常org.springframework.beans.factory.BeanCreationException:在类路径资源[applicationContext.xml]中定义名为'd'的bean时出错:在设置bean时无法解析对bean'myTemplate'的引用财产'模板';嵌套异常是org.springframework.beans.factory.BeanCreationException:在类路径资源[applicationContext.xml]中定义名称为'myTemplate'的bean时出错:在设置bean属性'sessionFactory'时无法解析对bean'mySessionFactory'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:在类路径资源[applicationContext.xml]中定义名称为'mySessionFactory'的bean时出错:init方法的调用失败;嵌套异常是java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。< init>(I)V
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:326)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframew ork.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org .springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at spring .hibernate.console.SpringHibernateConsole.main(SpringHibernateConsole.java:19)
引起:org.springframework.beans.factory.BeanCreationException:在类路径资源[applicationContext.xml]中定义名称为'myTemplate'的bean时出错:设置bean属性'sessionFactory'时无法解析对bean'mySessionFactory'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:在类路径资源[applicationContext.xml]中定义名称为'mySessionFactory'的bean时出错:init方法的调用失败;嵌套异常是java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。< init>(I)V
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:326)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframew ork.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org .springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org .springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320)
... 10 more
引起:org.springframework.beans.factory.BeanCreationException:使用名称创建bean时出错类路径资源[applicationContext.xml]中定义的'mySessionFactory':init方法的调用失败;嵌套异常是java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。< init>(I)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:296)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223 )
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFac) tory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320)
... 20 more
引起:java.lang .NoSuchMethodError:org.objectweb.asm.ClassWriter。< init>(I)net.sf.cglib.core.DebuggingClassWriter的V
。< init>(DebuggingClassWriter.java:47)
at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
at net.sf. cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
at net.sf.cglib.core.KeyFactory $ Generator.create(KeyFactory.java:144)
at net.sf.cglib。 core.KeyFactory.create(KeyFactory.java:116)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory。在net.sf.cglib.proxy.Enhancer上创建(KeyFactory.java:104)
。< clinit>(Enhan cer.java:69)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:107)
at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate( CGLIBProxyFactory.java:43)
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
at org.hibernate.tuple.entity.AbstractEntityTuplizer。< init>(AbstractEntityTuplizer .java:135)
at org.hibernate.tuple.entity.PojoEntityTuplizer。< init>(PojoEntityTuplizer.java:55)
at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping。< init> (EntityEntityModeToTuplizerMapping.java:56)
at org.hibernate.tuple.entity.EntityMetamodel。< init>(EntityMetamodel.java:269)
at org.hibernate.persister.entity.AbstractEntityPersister。< init>(AbstractEntityPersister.java:425)
at org.hibernate.persister.entity.SingleTableEntityPersister。< init>(SingleTableEntityPersister.java:109)
org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl。< init>(SessionFactoryImpl.java:226)
at org.hibernate .cfg.Configuration.buildSessionFactory(Configuration.java:1291)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:863)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean .buildSessionFactory(LocalSessionFactoryBean.java:782)
org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:188)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1571)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509)
... 27 more
Java结果:1
BUILD SUCCESSFUL(总时间:8秒)


解决方案

<看起来您在应用程序中缺少一些hibernate依赖项。我建议您在hibernate.cfg.xml文件中保留hibernate属性,而不是在application-context.xml中。如果它解决了你的问题。


I am here trying integrate spring hibernate. this is the simple example which i am trying to run. i am getting error upon running] kindly help.

EmployeeDAO.java

package com.spring.hibernate.dao;

import com.spring.hibernate.bean.EmployeeBean;
import org.springframework.orm.hibernate3.HibernateTemplate;

public class EmployeeDAO {
    HibernateTemplate template;

    public void setTemplate(HibernateTemplate template) {
        this.template = template;
    }

    public void saveEmployee(EmployeeBean e){
        template.save(e);
    }

    public void deleteEmployee(EmployeeBean e){
        template.delete(e);
    }

    public void updateEmployee(EmployeeBean e){
        template.update(e);
    }
}

EmployeeBean.java

package com.spring.hibernate.bean;


public class EmployeeBean {
    private int emp_id,emp_age;

    public int getEmp_id() {
        return emp_id;
    }

    public void setEmp_id(int emp_id) {
        this.emp_id = emp_id;
    }

    public int getEmp_age() {
        return emp_age;
    }

    public void setEmp_age(int emp_age) {
        this.emp_age = emp_age;
    }

    public String getEmp_name() {
        return emp_name;
    }

    public void setEmp_name(String emp_name) {
        this.emp_name = emp_name;
    }

    public String getEmp_address() {
        return emp_address;
    }

    public void setEmp_address(String emp_address) {
        this.emp_address = emp_address;
    }

    public float getEmp_salary() {
        return emp_salary;
    }

    public void setEmp_salary(float emp_salary) {
        this.emp_salary = emp_salary;
    }
    private String emp_name, emp_address;
    private float emp_salary;
}

SpringHibernateConsoole.java

package spring.hibernate.console;

import com.spring.hibernate.bean.EmployeeBean;
import com.spring.hibernate.dao.EmployeeDAO;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

public class SpringHibernateConsole {


    public static void main(String[] args) {

        Resource res = new ClassPathResource("applicationContext.xml");

        BeanFactory beanFactory = new XmlBeanFactory(res);

        EmployeeDAO dao = (EmployeeDAO)beanFactory.getBean("d");

        EmployeeBean emp = new EmployeeBean();
        emp.setEmp_id(23);
        emp.setEmp_name("amit");
        emp.setEmp_salary(15224);
        emp.setEmp_address("Ramakrishrna apratment new delhi");
        dao.saveEmployee(emp);

    }

}

applicationContext.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="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="dirverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
        <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=BFPL;instanceName=SQLEXPRESS;"></property>
        <property name="username" value="appuser" ></property>
        <property name="password" value="commando"></property>
    </bean>

    <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="myDataSource"></property>
        <property name="mappingResources"> 
            <list>
                <value>employee.hbm.xml</value>
            </list>
        </property>

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

    </bean>

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

    </bean>

    <bean id="d" class="com.spring.hibernate.dao.EmployeeDAO">
        <property name="template" ref="myTemplate"></property>
    </bean> 

</beans> 

employee.hbm

    <?xml version='1.0' encoding='UTF-8'?>  
<!DOCTYPE hibernate-mapping PUBLIC  
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  

<hibernate-mapping>
    <class name="com.spring.hibernate.bean.EmployeeBean">
        <id name="emp_id">
            <generator class="assigned"></generator>
        </id>
        <property name="emp_name"></property>
        <property name="emp_salary"></property>
        <property name="emp_address"></property>
        <property name="emp_age"></property>    
    </class>  

</hibernate-mapping>

error : (Updated)

run:
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'd' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'myTemplate' while setting bean property 'template'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myTemplate' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'mySessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:326)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at spring.hibernate.console.SpringHibernateConsole.main(SpringHibernateConsole.java:19)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myTemplate' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'mySessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:326)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1417)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1158)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320)
    ... 10 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1512)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:320)
    ... 20 more
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
    at net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)
    at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
    at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
    at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
    at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:144)
    at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)
    at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
    at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
    at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
    at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:107)
    at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
    at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
    at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:269)
    at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:425)
    at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
    at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1291)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:863)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:782)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:188)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1571)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509)
    ... 27 more
Java Result: 1
BUILD SUCCESSFUL (total time: 8 seconds)

解决方案

Looks like you are missing some hibernate dependencies in your application. I though suggest that you you keep your hibernate properties in hibernate.cfg.xml file and not in application-context.xml. If it solves your problem.

这篇关于我在设置spring hibernate application-context.xml时遇到了麻烦的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆