1.@Repository
@Repository是标注在Dao层接口上的,作用是将接口的一个实现类交给Spring管理。但是它需要配合@MapperScan进行使用,把@MapperScan("Mapper接口层路径")添加到启动类,系统会扫描持久层创建实现类并交给spring管理。
2.@Mapper
@Mapper也是使用在Dao层接口上的,使用它后就不用再配置扫描地址,通过mapper.xml里的namespace属性就可以与对应的mapper类进行对应关联,spring将动态的生成Bean后注入ServiceImpl中。因为mapper文件通过id与接口对应,所以请避免写同名接口,否则会映射出错。
3.@MapperScan
与@Repository配合使用,使用时在启动类上给定@MapperScan("Dao层接口所在的包路径")。@Mapper针对的是单个接口,更灵活,但是如果存在许多个Dao层接口,有时也会很麻烦。此时通过@MapperScan进行一次性配置注入反而会更加方便。