A bean of type ‘A‘ that could not be found

引用别人封装好的jar包,启动报错

Field sendInfoService in com.pagA.service.impl.channel.ChannelDocServiceImpl required a bean of type 'com.pagB.service.SendInfoService' that could not be found.The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)

出现这个错误的原因首先需要明白,java程序启动会首先扫描和启动类同级的包路径下。也就是@SpringBootApplication 这个注解同级下的包。启动报错的原因就是启动类在com.pagA包路径下,引用的jar包里面封装的service实现类在com.pagB路径下,导致应用程序启动的时候找不到pagB路径,所以就报错了。

###此外,若要注入的bean或者service不添加@Service注解也会报上述错误###

解决方法:添加配置类到pagA包路径下,重定向扫描路径

/**
 * 扫描配置类
 *
 * @author FM_南风
 * @date 2024/2/22 15:32
 */
@Configuration
@ComponentScan({
        "com.pagA.mapper",
        "com.pagB.service",
})
@MapperScan({
        "com.pagA.mapper",
        "com.pagB.mapper",
})
public class ScanConfiguration {
    private static final Logger logger = LoggerFactory.getLogger(ScanConfiguration.class);
    public ScanConfiguration() {
        logger.info("创建扫描配置类对象:ScanConfiguration");
    }
}

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值