无意间注意到在mapper接口上使用@Mapper注解,在服务层会爆红,但不影响使用。而使用@Repository可以消除爆红。不仅感慨这些基础在记忆中仿佛日渐模糊,特做一个小结,高手可以忽略。
首先这两个都是注解在Dao层。
而不同点:
@Mapper是mybatis自身的注解,它不需要在Spring中配置扫描地址,通过xml里面的namespace里面的接口地址,生成Bean后注入到Service层中。
@Repository是spring提供的注解,能够将该类注册成Bean。被依赖注入,但是使用该注解后,在启动类上要加@MapperScan来表名Mapper类的位置,否则扫描不到。