Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'MyuserDAOProxy' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError
Caused by: java.lang.ExceptionInInitializerError
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at net.sf.cglib.proxy.Enhancer.setCallbacksHelper(Enhancer.java:616)
at net.sf.cglib.proxy.Enhancer.setThreadCallbacks(Enhancer.java:609)
at net.sf.cglib.proxy.Enhancer.createUsingReflection(Enhancer.java:631)
at net.sf.cglib.proxy.Enhancer.firstInstance(Enhancer.java:538)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:225)
at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285)
at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:196)
at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
at org.springframework.aop.framework.AbstractSingletonProxyFactoryBean.getProxy(AbstractSingletonProxyFactoryBean.java:187)
at org.springframework.aop.framework.AbstractSingletonProxyFactoryBean.afterPropertiesSet(AbstractSingletonProxyFactoryBean.java:159)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at springdao.SpringDAOTest.main(SpringDAOTest.java:14)
Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:237)
at net.sf.cglib.reflect.FastClass$Generator.create(FastClass.java:64)
at net.sf.cglib.proxy.MethodProxy.helper(MethodProxy.java:81)
at net.sf.cglib.proxy.MethodProxy.create(MethodProxy.java:46)
at springdao.MyuserDAO$$EnhancerByCGLIB$$45e39ce5.CGLIB$STATICHOOK2(<generated>)
at springdao.MyuserDAO$$EnhancerByCGLIB$$45e39ce5.<clinit>(<generated>)
... 28 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:384)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:219)
... 33 more
Caused by: java.lang.SecurityException: class "org.springframework.orm.hibernate3.support.HibernateDaoSupport$$FastClassByCGLIB$$16de1b0e"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
... 39 more

解决方案 »

  1.   

    application.xml中的MyuserDAOProxy,你的信息不够
      

  2.   

    这个问题困扰我几天了,如果能够解决真是太感谢了!!!!!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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation"
    value="classpath:hibernate.cfg.xml">
    </property>
    </bean>


    <bean id="man" name="man_name" class="springtest.Man">
    <property name="massage">
    <value>お疲れ様です!劉さん。</value>
    </property>
    </bean>

    <bean id="MyuserDAO" class="springdao.MyuserDAO">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>
    <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
    <ref local="sessionFactory" />
    </property>
    </bean>


    <bean id="MyuserDAOProxy"
    class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="proxyTargetClass">
    <value>true</value>
    </property>
    <property name="transactionManager">
    <ref bean="transactionManager" />
    </property>
    <property name="target">
    <ref local="MyuserDAO" />
    </property>
    <property name="transactionAttributes">
    <props> <prop key="*">PROPAGATION_REQUIRED</prop>
    </props>
    </property>
    </bean>

    </beans>
      

  3.   

    MyuserDAO,你的名字不要这么写,所有的bean id要小写开头
    at springdao.SpringDAOTest.main(SpringDAOTest.java:14) 
    Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
    反正是没找到,你先改一下吧
      

  4.   

    还是不行啊
    我再把SpringDAOTest.java文件放上来package springdao;import org.hibernate.SessionFactory;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringDAOTest { /**
     * @param args
     */
    public static void main(String[] args) {
    ApplicationContext ctx =
    new ClassPathXmlApplicationContext("applicationContext.xml");

    Myuser user = new Myuser();
    user.setPassword("pa");
    user.setUsername("spring dao");

    MyuserDAO dao = (MyuserDAO)ctx.getBean("myuserDAOProxy");
    dao.save(user);


    }}
      

  5.   

    MyuserDAO dao = (MyuserDAO)ctx.getBean("myuserDAOProxy"); 
    这是什么,你不是要myuserDAO么,为什么要用这个呢
      

  6.   

    用Spring 1.2 的事务代理类解决事务提交问题
      

  7.   

    MyuserDAO dao = (MyuserDAO)ctx.getBean("myuserDAOProxy"); 
    不是myuserDAOProxy,是myuserDAO
      

  8.   

    把你MyuserDAO里的main 方法去掉试试看
    另外bean id可以大写开头,不要乱说
      

  9.   

    跟7楼说的那样改成MyuserDAO dao = (MyuserDAO)ctx.getBean("MyuserDAO"); 
    myuserDAOProxy只是做事务代理用的,真正使用的时候还是用MyuserDAO
      

  10.   

    是的
    改成MyuserDAO dao = (MyuserDAO)ctx.getBean("MyuserDAO"); 这种做法我已经通过了。只是用Spring 1.2 的事务代理类解决事务提交问题不行