代码改变世界

面试学习-注解

2021-04-13 16:41  握瑾怀瑜  阅读(82)  评论(0)    收藏  举报

1

@Mapper  与  @Repository   与  @MapperScan
@Mapper 是 Mybatis 的注解,和 Spring 没有关系,@Repository 是 Spring 的注解,用于声明一个 Bean.
@Mapper: Mybatis找到对应的mapper。
@Repository: 仅仅使用@Mapper注解,我们会发现,在其他变量中依赖注入,IDEA 会提示错误。因为我们没有显式标注这是一个 Bean,用@Repository注解声明这是一个bean.
@MapperScan: 基于注解的开发也有其他手段帮助 Mybatis 找到 mapper,那就是 @MapperScan 注解,可以在启动类上添加该注解,自动扫描包路径下的所有接口。

总结
  1. @Mapper 一定要有,否则 Mybatis 找不到 mapper。
  2. @Repository 可有可无,可以消去依赖注入的报错信息。
  3. @MapperScan 可以替代 @Mapper。

 

 

 

 

 

 2

@component 与  @configuration 注解

3

@ImportResource

使用SpringBoot框架也能使用XML配置,只要在程序入口使用一个注解 如@ImportResource({"classpath:spring-datasource.xml"}),即可导入XML配置。
但是SpringBoot不推荐这样使用,而是集中在配置文件application.yml中进行配置