Maven分模块开发的报错问题(Autowired bean问题)

问题主要原因:自动装配的问题,创建bean失败,无法找到合适的bean进行自动装配

	org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userServiceImpl': Unsatisfied dependency expressed through field 'userDao'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.heima.dao.UserDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

分模块开发的步骤:

        1.创建普通模块,转移想要剥离出去的包==》移包

        2.将普通模块进行打包,假如需要依赖的则先添加依赖信息再进行打包==》打包

        3.将模块的坐标注入主模块的依赖信息中,然后进行编译测试==》运行

但是有时候测试能通过,服务器运行还是存在问题,此类问题就是一个很好的例子

分模块开发此类问题探究:

        既然是分模块开发,假如里面分出的模块中需要用到bean自动装配或者路径时就要格外注意,因为idea里面编写的自动装配的路径是不会根据你所进行的移包或者分模块而自动更改的

 本人报错原因:

        本人是将实体类包domain数据层接口包dao进行分模块开发,从主体包剥离出去,然后里面的配置包里面的MybatisConfig中的实体类包扫描的bean数据层接口扫描的bean都未进行修改,从而导致无法在业务层接口和实现类中进行自动装配,从而导致这个异常的报出

        里面还是用的原始位置的包扫描,因为未进行改动而且IDEA不会帮助你自动修改此类路径,所以在原始位置扫描不到正确的bean,无法进行正确装配,所以报错位置才会显示在业务层实现类的UserServiceImpl文件中的自动装配 

报错原因解决:

        只需要将原始数据据文件位置变化而进行修改然后运行即可

        

        因为我剥离出去的包是实体类包domain包和数据层接口包dao包,所以我需要修改的数据只有这一个包中创建bean的路径就可以了

        假如各位伙伴此类问题还是运行出现不了想要的结果,则可能还需要检查其他包或者jar包是否加载哦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值