首页 > 编程知识 正文

mapperscan注解失效,@component注解

时间:2023-05-06 17:51:46 阅读:28372 作者:2899

误报如下

原因: @MapperScan和@ComponentScan一起使用时,项目启动时软件包扫描冲突,找不到swagger配置类的软件包和mapper接口的软件包解决方案: @ @ 更改为@mapperscan(basepackages={} )的形式。 或者,@MapperScan ) )扫描mapper包,启动项目并自行扫描swagger配置类的包进行课外部署。 @MapperScan 1.首先,了解@Mapper在持久层的接口中添加@Mapper注释,并在编译后生成对应的接口实现类。 但是,由于是在每个接口上配置的,@Mapper为2.@MapperScan指定要编译到接口实现类中的包路径,编译完成后,该包下的所有接口都是适当的接口@ComponentScan 1.会自动扫描包路径下的@Controller、@Service、@Repository和@Component类,符合扫描规则的类则组入spring容器中2 .如果可以同时使用@MapperScan和@ComponentScan的@MapperScan和@ComponentScan扫描同一路径,则会出现错误,因此,@MapperScan (基本包) @SpringBootApplication项目场景:在注入最近使用SpringBoot构建项目并使用Mybatis生成器自动生成映射器和映射器的映射器时,可以使用映射器

问题说明:启动SpringBoot项目后,发现没有将映射器注入容器。 分析的原因是mapper类中有很少的mapper注释,或者主开始类中没有mapperscan注释。 毕竟,我对这三个评论的理解很浅。

三个注释之间的差异: @ComponentScan注释

ComponentScan是指,当您告诉Spring从哪里找到bean Spring时,它会在包含APP应用程序主程序的包及其子包下进行全局扫描,并将相应的bean注入容器中其中的bean包含servicemapperresposiotycontroller,因此只要springboot程序中有mapper注释,就不需要添加mapperscan注释。 springboot注释附带componentscan并进行扫描。

@MapperScan注释

@Mapper注释可以在编译后生成对应的接口实现类。 要为每个接口编程实现类,必须为每个接口添加映射器注释,这很麻烦。 要解决此问题,可以使用@MapperScan注释,并通过在Mapperscan注释后添加value指定要扫描的软件包来实现mapper注入。

事实上,映射扫描完成了两件事:

基于设置的路径扫描mapper.java这里扫描的是mapper下的java文件扫描的mapper的注册BeanDefinition。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。