SpringBoot中的Mapper注解和Repository注解
发布网友
发布时间:2022-10-12 04:22
我来回答
共1个回答
热心网友
时间:2023-10-18 01:54
如果在接口上@Mapper,然后再在 xml中的namespace指向mapper,那么spring就能动态生成一个Mapper的bean,然后你在serviceImpl中的
@Autowired
private XXXMapper xxmapper;
就会被这个bean注进去。
如果在DaoImpl中加了@Repository,那么在spring的扫包机制下,也会生成这个的bean,注入你serviceImpl中的
@Autowired
private xxxDao xxx;
中去。这个机制就像@controller,@Service什么的一样的。
当你只有Mapper的时候,IDEA会报错,显示无法自动装配,就是Autowired无效,但是运行的时候是可以运行的。
当你只有Repository的时候,在启动类中添加@MapperScan("xxxx.xxxx.")的自动扫描配置,也可以运行。
也就是说: