springboot available: expected at least 1 bean which qualifies as autowire candidate

时间:2025-04-26 15:33:53

错误背景描述:

在使用Spring batch创建Job的过程中,在Job中创建Tasklet Bean时返回的错误。

原因:

在编写Bean的过程中返回值是父类Tasklet而不是具体的XxxTasklet。(就是Step创建需要注入Tasklet,在Step Bean的创建方法中,编写的入参Tasklet就是子类XXXTasklet,而不是Tasklet父类。因而出现Bean的不匹配问题)

解决办法:

创建Tasklet Bean时,将方法的返回值类型修改成XXXTasklet,或者将Step的Tasklet入参从XXXTasklet改成Tasklet