Spring +shiro 开启proxy-target-class="true" aop依然报错如何解决?

[2023-01-11 20:32:22,532] [http-nio-8081-exec-4] [DEBUG] ver.DefaultTraversableResolver - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.

[2023-01-11 20:32:22,533] [http-nio-8081-exec-4] [DEBUG] engine.ConfigurationImpl - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator

[2023-01-11 20:32:22,533] [http-nio-8081-exec-4] [DEBUG] engine.ConfigurationImpl - Setting custom ConstraintValidatorFactory of type org.springframework.validation.beanvalidation.SpringConstraintValidatorFactory

[2023-01-11 20:32:22,533] [http-nio-8081-exec-4] [DEBUG] engine.ConfigurationImpl - Setting custom ParameterNameProvider of type com.sun.proxy.$Proxy217

[2023-01-11 20:32:22,533] [http-nio-8081-exec-4] [DEBUG] xml.ValidationXmlParser - Trying to load META-INF/validation.xml for XML based Validator configuration.

[2023-01-11 20:32:22,533] [http-nio-8081-exec-4] [DEBUG] xml.ResourceLoaderHelper - Trying to load META-INF/validation.xml via user class loader

[2023-01-11 20:32:22,536] [http-nio-8081-exec-4] [DEBUG] xml.ResourceLoaderHelper - Trying to load META-INF/validation.xml via TCCL

[2023-01-11 20:32:22,536] [http-nio-8081-exec-4] [DEBUG] xml.ResourceLoaderHelper - Trying to load META-INF/validation.xml via Hibernate Validator's class loader

[2023-01-11 20:32:22,537] [http-nio-8081-exec-4] [DEBUG] xml.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only.

20:32:23.073 logback [http-nio-8081-exec-4] WARN o.s.w.c.s.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerController': Unsatisfied dependency expressed through field 'customerApiToSF'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'customerApiToSF' is expected to be of type 'com.business.basedata.cust.web.CustomerApiToSF' but was actually of type 'com.sun.proxy.$Proxy222'

20:32:23.186 logback [http-nio-8081-exec-4] INFO org.apache.zookeeper.ZooKeeper - Session: 0x1000000cbd800e8 closed

20:32:23.187 logback [http-nio-8081-exec-4-EventThread] INFO org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x1000000cbd800e8

20:32:23.187 logback [xxl-rpc, ZkServiceRegistry refresh thread.] INFO c.x.r.r.impl.ZkServiceRegistry - >>>>>>>>>>> xxl-rpc, refresh thread stoped.

20:32:23.188 logback [http-nio-8081-exec-4] ERROR o.s.web.servlet.DispatcherServlet - Context initialization failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerController': Unsatisfied dependency expressed through field 'customerApiToSF'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'customerApiToSF' is expected to be of type 'com.business.basedata.cust.web.CustomerApiToSF' but was actually of type 'com.sun.proxy.$Proxy222'

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:586)

at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:364)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1268)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:756)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)

at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:663)

at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:629)

at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:677)

at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:548)

at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:489)

at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)

at javax.servlet.GenericServlet.init(GenericServlet.java:158)

at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1173)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1118)

at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1647)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)

at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'customerApiToSF' is expected to be of type 'com.business.basedata.cust.web.CustomerApiToSF' but was actually of type 'com.sun.proxy.$Proxy222'

at org.springframework.beans.factory.support.DefaultListableBeanFactory.checkBeanNotOfRequiredType(DefaultListableBeanFactory.java:1503)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1482)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1097)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059)

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:583)

... 39 common frames omitted

20:32:23.211 logback [http-nio-8081-exec-4] ERROR 500.jsp - Servlet[springmvc]的Servlet.init()引发异常

javax.servlet.ServletException: Servlet[springmvc]的Servlet.init()引发异常

at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1190)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1118)

at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639)

at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1647)

at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)

at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerController': Unsatisfied dependency expressed through field 'customerApiToSF'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'customerApiToSF' is expected to be of type 'com.business.basedata.cust.web.CustomerApiToSF' but was actually of type 'com.sun.proxy.$Proxy222'

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:586)

at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:364)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1268)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:756)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)

at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:663)

at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:629)

at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:677)

at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:548)

at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:489)

at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)

at javax.servlet.GenericServlet.init(GenericServlet.java:158)

at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1173)

... 19 common frames omitted

Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'customerApiToSF' is expected to be of type 'com.business.basedata.cust.web.CustomerApiToSF' but was actually of type 'com.sun.proxy.$Proxy222'

at org.springframework.beans.factory.support.DefaultListableBeanFactory.checkBeanNotOfRequiredType(DefaultListableBeanFactory.java:1503)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1482)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1097)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059)

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:583)

... 39 common frames omitted

上面是具体报错信息。这是xml
这是shiro 配置

一个controller中使用Autowired 注入了另一个controller(customerApiToSF这是一个类,没有实现接口)导致
.BeanNotOfRequiredTypeException: Bean named 'customerApiToSF' is expected to be of type 'com.business.basedata.cust.web.CustomerApiToSF' but was actually of type 'com.sun.proxy.$Proxy221'

使用AopUtils.isCglibProxy()判断为false;请问大佬们如何解决?


回答:

那这种问题就把代码搞个压缩包丢上来呗,单看几个文件可不容易瞧出来

以上是 Spring +shiro 开启proxy-target-class="true" aop依然报错如何解决? 的全部内容, 来源链接: utcz.com/p/944923.html

回到顶部