一、前言
今天搭建框架的时候,项目启动时遇到一个问题 required a single bean, but 2 were found。这个问题,一眼就能看出就是注入了两个相同的bean。但是,奇怪的是只有一个接口和一个对应的实现类,怎么会有两个bean呢?
二、@MapperScan注解在作怪
最后,在网上查资料发现是@MapperScan注解的问题。@MapperScan注解是指定mybatis的mapper接口所在的包,以便于扫描该包时将该包下所有的接口都生成对应的实现类,所以如果@MapperScan注解配置的包范围太大,就会将接口也注入成bean。
配置@MapperScan注解的包的扫描范围的时候一定要谨慎。
网友评论