use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching
Posted 穆雄雄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching相关的知识,希望对你有一定的参考价值。
大家好,我是雄雄。
今天在做异步的时候,报了个错,错误信息如下:
Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.
2022-08-25 17:58:30.784 [main] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter:40 -
APPLICATION FAILED TO START
Description:
The bean ‘subscribeHandler’ could not be injected because it is a JDK dynamic proxy
The bean is of type ‘com.sun.proxy.$Proxy195’ and implements:
me.chanjar.weixin.mp.api.WxMpMessageHandler
org.springframework.aop.SpringProxy
org.springframework.aop.framework.Advised
org.springframework.core.DecoratingProxy
Expected a bean of type ‘org.jeecg.modules.wechat.handler.SubscribeHandler’ which implements:
Action:
Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching.
2022-08-25 17:58:31.721 [Thread-7] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder:108 - [HttpClientBeanHolder] Start destroying common HttpClient
解决方法
启动器不能只写个@EnableAsync
就完事儿了。
还需要在后面加上:(proxyTargetClass = true)
完成写法应该是这样的:
@EnableAsync(proxyTargetClass = true)
以上是关于use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching的主要内容,如果未能解决你的问题,请参考以下文章
SpringAOPBean named * is expected to be of type * but was actually of type ‘com.sun.proxy.$Proxy7‘(代
Proxy does not work using sudo in Debian
Spring 动态代理 之 but was actually of type 'com.sun.proxy.$Proxy14 Exception