Spring3中使用@Async时出的异常

本文介绍了解决在Spring框架中使用@Async注解遇到的问题:因CGLIB缺失导致无法代理目标类。提供了两种解决方案:一是引入cglib-nodep-2.1_3.jar包或相关依赖;二是为目标类定义接口。此外,文中还澄清了@Async与任务调度的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置Spring的任务调度时,使用了@Async注解用于异步调用,出了一个异常。

Exception:
Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.

解决方法一:导入cglib-nodep-2.1_3.jar包,或者导入asm-2.2.3.jar和cglib-2.2.jar
解决方法二:为需要代理的目标类抽出接口。

这大概涉及到了String的AOP吧,没细琢磨,懂得人还请多多指教。

需要说明的一点:很多文章举例时把@Async和任务调度混在了一起,我自己试验了一下,发现任务调度和@Async没有必然联系,在xml配置中仅仅声明<task:annotation-driven/> 就可以使用@Async了。

觉得annotation真是很方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值