Spring mvc 我试图在SpringMVCServlet中部署AspectJ,但在服务器启动时出现异常

Spring mvc 我试图在SpringMVCServlet中部署AspectJ,但在服务器启动时出现异常,spring-mvc,aspectj,Spring Mvc,Aspectj,服务器上的异常 Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ng bean with name 'org.springframework.transaction.config.internalTransactionAdv isor': Cannot resolve reference to bean 'org.springframework.transaction.annotat

服务器上的异常

Caused by: org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'org.springframework.transaction.config.internalTransactionAdv
isor': Cannot resolve reference to bean 'org.springframework.transaction.annotat
ion.AnnotationTransactionAttributeSource#0' while setting bean property 'transac
tionAttributeSource'; nested exception is org.springframework.beans.factory.Bean
CreationException: Error creating bean with name 'org.springframework.transactio
n.annotation.AnnotationTransactionAttributeSource#0': Initialization of bean fai
led; nested exception is org.springframework.aop.framework.AopConfigException: C
ould not generate CGLIB subclass of class [class $Proxy73]: Common causes of thi
s problem include using a final class or a non-visible class; nested exception i
s java.lang.IllegalArgumentException: Cannot subclass final class class $Proxy73

        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:329)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1387)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:1128)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:458)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:295)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:223)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:292)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:198)
        at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetriev
alHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:86)
        at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyC
reator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:101)
        at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAuto
ProxyCreator.findCandidateAdvisors(AnnotationAwareAspectJAutoProxyCreator.java:8
5)
        at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProx
yCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:103)
        at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.
postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:276)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFa
ctory.java:890)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:862)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:448)
        ... 63 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'org.springframework.transaction.annotation.AnnotationTransact
ionAttributeSource#0': Initialization of bean failed; nested exception is org.sp
ringframework.aop.framework.AopConfigException: Could not generate CGLIB subclas
s of class [class $Proxy73]: Common causes of this problem include using a final
 class or a non-visible class; nested exception is java.lang.IllegalArgumentExce
ption: Cannot subclass final class class $Proxy73
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:529)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:458)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:295)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:223)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:292)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:194)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver
.resolveReference(BeanDefinitionValueResolver.java:323)
        ... 80 more
Caused by: org.springframework.aop.framework.AopConfigException: Could not gener
ate CGLIB subclass of class [class $Proxy73]: Common causes of this problem incl
ude using a final class or a non-visible class; nested exception is java.lang.Il
legalArgumentException: Cannot subclass final class class $Proxy73
        at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProx
y.java:217)
        at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.
java:111)
        at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.
createProxy(AbstractAutoProxyCreator.java:477)
        at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.
wrapIfNecessary(AbstractAutoProxyCreator.java:362)
        at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.
postProcessAfterInitialization(AbstractAutoProxyCreator.java:322)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFa
ctory.java:409)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.initializeBean(AbstractAutowireCapableBeanFactory.java:1488)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
        ... 86 more
Caused by: java.lang.IllegalArgumentException: Cannot subclass final class class
 $Proxy73
        at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:
446)
        at org.springframework.cglib.transform.TransformingClassGenerator.genera
teClass(TransformingClassGenerator.java:33)
        at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(Defa
ultGeneratorStrategy.java:25)
        at org.springframework.cglib.core.AbstractClassGenerator.create(Abstract
ClassGenerator.java:216)
        at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:3
77)
        at org.springframework.cglib.proxy.Enhancer.create(Enhancer.java:285)
        at org.springframework.aop.framework.CglibAopProxy.getProxy(CglibAopProx
y.java:205)
        ... 93 more

        at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.jav
a:1706)
        at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:781)
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:213)
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:208)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:35)
        Truncated. see log file for complete stacktrace
Caused By: java.lang.IllegalArgumentException: Cannot subclass final class class
 $Proxy73
        at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:
446)
        at org.springframework.cglib.transform.TransformingClassGenerator.genera
teClass(TransformingClassGenerator.java:33)
        at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(Defa
ultGeneratorStrategy.java:25)
        at org.springframework.cglib.core.AbstractClassGenerator.create(Abstract
ClassGenerator.java:216)
        at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:3
实际上你应该

  • 不只是在这里张贴调用堆栈,而是提出一个社区可以回答的问题。否则你会让我们猜你想知道什么
  • 在询问异常的含义之前,请阅读异常,因为在本例中它清楚地说明了这一点
  • 在发布之前在此处搜索类似问题
  • 在调用堆栈的相关部分添加一些换行符,它会显示:

    org.springframework.aop.framework.aopconfigeexception:
    无法生成类[class$Proxy73]的CGLIB子类:
    此问题的常见原因包括使用最终类或
    不可见的类;嵌套异常是
    java.lang.IllegalArgumentException:
    无法子类化最终类$Proxy73
    

    很明显,您正试图将代码编织到最后一个类中,而CGLIB是无法容纳的(当从SpringAOP间接使用时)。可能您的Spring配置以某种方式指示应该生成代理的代理。也许能帮你解决问题。顺便说一句,我不是Spring用户。因此,如果您无法通过我的提示自行解决问题,您需要编辑问题并向其添加更多信息,例如方面代码、Spring配置以及其他可能有用的信息。

    此问题仍列为未回答问题。如果我的回答合适的话,请你接受并投赞成票好吗?谢谢