java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.junit.internal.runners.TestClassMethodsRunner.createTest(TestClassMethodsRunner.java:52)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:58)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDAOImpl' defined in file [D:\spingWorkSpace\Spring_08_annotation_component\bin\com\huanghui\daoImpl\UserDAOImpl.class]: BeanPostProcessor before instantiation of bean failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:405)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.huanghui.service.UserServiceTest.<clinit>(UserServiceTest.java:12)
... 16 more
Caused by: java.lang.NullPointerException
at org.aspectj.weaver.WeakClassLoaderReference.<init>(WeakClassLoaderReference.java:45)
at org.aspectj.weaver.tools.PointcutParser.setClassLoader(PointcutParser.java:228)
at org.aspectj.weaver.tools.PointcutParser.<init>(PointcutParser.java:215)
at org.aspectj.weaver.tools.PointcutParser.getPointcutParserSupportingSpecifiedPrimitivesAndUsingContextClassloaderForResolution(PointcutParser.java:130)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.<init>(AspectJExpressionPointcut.java:123)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.<init>(AspectJExpressionPointcut.java:136)
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.getPointcut(ReflectiveAspectJAdvisorFactory.java:144)
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.getAdvisor(ReflectiveAspectJAdvisorFactory.java:129)
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory$1.doWith(ReflectiveAspectJAdvisorFactory.java:74)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:466)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:443)
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.getAdvisors(ReflectiveAspectJAdvisorFactory.java:70)
at org.springframework.aop.aspectj.annotation.BeanFactoryAspectJAdvisorsBuilder.buildAspectJAdvisors(BeanFactoryAspectJAdvisorsBuilder.java:110)
at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.findCandidateAdvisors(AnnotationAwareAspectJAutoProxyCreator.java:85)
at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:105)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:281)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:791)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:762)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:399)
... 29 morebug

解决方案 »

  1.   

    UserDAOImpl 找找看 是否创建成功
      

  2.   

    您好,类创建好了,就是不能引进AOP,如果不用@aspect这个注解就能运行,可是加上这个注解,就报上面的错误,我估计可能是环境问题引起的,可是无法解决!
      

  3.   

    LZ,你是用标记去创建自己的AOP切割类吧,那检查下有没有这些:spring.xml
    (1)增加<aop:aspectj-autoproxy/>
    (2)增加<context:component-scan base-package="切割类包名" />XXX.java
    (3)在头顶上@Aspect的下面增加一下@Component(spring扫描标记)
    然后再试试
      

  4.   

    这个有小demo
    http://download.csdn.net/detail/zuxianghuang/4138590
      

  5.   


    <!-- 参与缓存的切入点对象 (切入点对象,确定何时何地调用拦截器) -->
    <bean class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
    <!-- 配置缓存切面 -->
    <property name="advice" ref="cacheMethodInterceptor" />
    <!--
    配置哪些方法参与缓存策略 .表示符合任何单一字元 ### +表示符合前一个字元一次或多次 ### *表示符合前一个字元零次或多次 ###
    \Escape任何Regular expression使用到的符号
    -->
    <!-- .*表示前面的前缀(包括包名) 表示print方法-->
    <property name="patterns">
    <list>
    <value>
    <!-- com.shadow.mvc.service\..Service.*\.find.*   -->
    com.shadow.mvc.service.impl.BrandService.*\.find.*
    </value>
    </list>
    </property>
    </bean> <aop:config></aop:config> <!-- 配置一个缓存拦截器对象,处理具体的同步缓存业务 -->
    <bean id="cacheMethodAfterAdvice" class="com.shadow.extras.cache.CacheMethodAfterAdvice">
    <property name="memCachedClient" ref="memCachedClient" />
    </bean>
    <aop:config>
    <aop:aspect id="methodCachePointCutAdviceAspect" ref="cacheMethodAfterAdvice">
    <aop:after method="afterReturning"
    pointcut="execution(* com.shadow.mvc.service.*Service.modify*(..))" />
    <aop:after method="afterReturning"
    pointcut="execution(* com.shadow.mvc.service.*Service.save*(..))" />
    <aop:after method="afterReturning"
    pointcut="execution(* com.shadow.mvc.service.*Service.remove*(..))" />
    </aop:aspect>
    </aop:config><!-- 开启代理模式 -->
    <!-- <aop:aspectj-autoproxy proxy-target-class="true"/>  -->
    <aop:aspectj-autoproxy /> <!--
    enable component scanning (beware that this does not enable mapper
    scanning!)
    -->
    <context:component-scan base-package="com.shadow" />
    要开启模式
      

  6.   

    问题找到了,原来是我的扎包user liblary设置成了System扎了!蛋疼啊!