对spring中注解的一些疑问

1.@Service注解

不知道大家有没有过和我一样的疑问,在写代码时写着写着不知道@Service是注入到接口上还是实现类?带着这个疑问,搜了几篇帖子,总结一下,首先肯定的是service注解是注入在实现类上的,究其原因@Service注入是spring创建管理对象,代替new,spring可以管理类,但不管理接口,也就是@Controller,@Component,@Repository,@Service不能放接口上。

2.@Mapper注解和@MapperScan注解

接着上边的问题,不能注入在接口上,哎?@Mapper不就是注入在接口上的吗?带着疑问查阅了一下,被@Mapper标注的类识别他为mybatis的mapper接口,会自动的把 加@Mapper 注解的接口生成动态代理类,没错,最终还是落到类上。当然网上还有一种说法,由于每个mapper接口都得标注@Mapper注解,比较繁琐,spring还提供了另外一个注解@MapperScan,它标注在启动类上,传入mapper接口的路径,比如:

@MapperScan(basePackages = {"com.jiuba.shop.mapper"})

这里补充一下,我们知道,我们的配置文件与接口路径必须相同,那么假设我的配置文件不想放在相同路径下,可以通过配置文件来确定mapper的xml位置

mybatis.mapperlocations=classpath:mapper

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值