Java 应用程序无法以@Async批注启动
我正在尝试在后台异步运行函数。为此,我正在尝试Spring的@Async注释,但在将此注释放到函数上后,我的应用程序无法启动 我试过了 @EnableAsync(proxyTargetClass=true) 但还是没有运气 下面是我在应用程序启动时收到的消息Java 应用程序无法以@Async批注启动,java,spring,spring-boot,asynchronous,Java,Spring,Spring Boot,Asynchronous,我正在尝试在后台异步运行函数。为此,我正在尝试Spring的@Async注释,但在将此注释放到函数上后,我的应用程序无法启动 我试过了 @EnableAsync(proxyTargetClass=true) 但还是没有运气 下面是我在应用程序启动时收到的消息 应用程序无法启动 说明: 无法将bean“MyBatchSyncProcessor”作为“com.a.b.c.service.MyBatchSyncProcessor”注入,因为它是实现以下功能的JDK动态代理: com.a.b.c.s
应用程序无法启动
说明: 无法将bean“MyBatchSyncProcessor”作为“com.a.b.c.service.MyBatchSyncProcessor”注入,因为它是实现以下功能的JDK动态代理: com.a.b.c.service.BaseSyncProcessor 行动: 考虑将bean作为其接口之一注入,或者通过在@enablesync和/或@EnableCaching上设置proxyTargetClass=true来强制使用基于CGLib的代理
请帮助我启动并运行此应用程序 不要注入您的服务实现(
MyBatchSyncProcessor
)-注入其接口BaseSyncProcessor
您是否尝试Autowire
或注入com.a.b.c.service.MyBatchSyncProcessor
在代码中的某个位置?请先添加代码!是的,我正试图通过构造函数进行自动连接。你应该注入接口而不是实现。我猜com.a.b.c.service.BaseSyncProcessor
是一个接口。@San使用@Async
方法创建类:)我认为添加String.java源代码或smth没有意义。像那样。