@MapperScan和@ComponentScan
时间: 2023-10-04 16:04:57 浏览: 177
@PostConstruct注解用来获取springbean对象.txt
@MapperScan和@ComponentScan都是用于扫描包的注解,但是它们有一些区别。
@MapperScan注解用于扫描Mapper接口所在的包,并生成相应的接口实现类。在持久层的接口上添加@Mapper注解后,编译时会生成对应的接口实现类。为了避免在每个接口上都添加@Mapper注解,可以使用@MapperScan注解来指定要编译成接口实现类的包路径。在编译完成后,该包下的所有接口都会生成相应的接口实现类。这样可以简化代码的编写。
@ComponentScan注解是用于自动扫描包路径下的@Controller、@Service、@Repository、@Component等注解标注的类,并将这些类装配到Spring容器中。通过@ComponentScan注解,可以自动将符合扫描规则的类注入到Spring容器中,方便进行依赖注入和其他操作。
它们的主要区别在于扫描的注解和目的不同。@MapperScan主要用于扫描Mapper接口并生成对应的实现类,而@ComponentScan主要用于扫描带有特定注解的类并装配到Spring容器中。
总结起来,@MapperScan注解用于扫描Mapper接口的包并生成接口实现类,而@ComponentScan注解用于扫描带有特定注解的类并装配到Spring容器中。它们可以同时使用,但需要注意扫描的包路径不能重叠,避免产生错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [@MapperScan和@ComponentScan的区别](https://blog.csdn.net/m0_37597572/article/details/82625631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [@MapperScan和@ComponentScan使用问题](https://blog.csdn.net/weixin_45948234/article/details/110954215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文