最近在做一个项目,要求分层按业务service、访问层控制层controller,不同层建立自己的模块,建完项目调试时,当我尝试@Autowired service项目的bean时,就会报错找不到bean。
原因是springboot的启动类仅仅扫描了自己工程的bean,没有扫描C项目的bean。
解决办法:
需改写启动类的扫描注解如下所示:
@MapperScan(basePackages = "com.unicom.shenzhen.lychee.mapper")
@ComponentScan(basePackages = "com.unicom.shenzhen.lychee.service")
@MapperScan 和 @ComponentScan 是可以共存的,他们干的事不同,前者扫描mapper类后者扫描各种组件