@Component 和@Mapper啥区别
时间: 2024-06-05 13:09:12 浏览: 20
@Component 和 @Mapper 都是 Spring 框架中的注解,但是它们的作用不同。
@Component 是一个通用的注解,表示被修饰的类是一个组件,可以被 Spring 容器所管理。通常情况下,我们使用 @Component 注解来标注 Service、Dao、Controller 等类,以便能够通过 Spring 的自动扫描机制来自动装配依赖。
@Mapper 是 MyBatis 框架中的注解,表示被修饰的接口是一个 MyBatis 的 Mapper 接口,用于标记数据访问层的接口,使其能够被 MyBatis 扫描并生成代理对象。在 MyBatis 中,我们可以通过 Mapper 接口来定义数据库的操作,通过 @Mapper 注解来标注 Mapper 接口,然后在 Service 层中注入 Mapper 接口的实现来完成数据访问操作。
因此,@Component 和 @Mapper 的作用不同,@Component 用于标注 Spring 容器管理的组件,@Mapper 用于标注 MyBatis 的 Mapper 接口。
相关问题
@ComponentScan 和@Mapper的区别
@ComponentScan是Spring框架中的注解,用于自动扫描指定包下的所有组件,包括@Component、@Service、@Controller等注解标注的类,并将其注册到Spring容器中进行管理。
@Mapper是MyBatis框架中的注解,用于标注数据访问层(DAO)接口,通过MyBatis框架提供的动态代理技术,自动生成实现了该接口的代理对象。该代理对象可以直接调用MyBatis的SQL映射文件中配置的SQL语句,从而实现与数据库的交互。
简单来说,@ComponentScan用于扫描并注册Spring组件,而@Mapper用于标注MyBatis数据访问层接口。
@Component @MapperScan 区别
@Component 是 Spring 框架中的注解,用于标识一个类为组件,由 Spring 托管和管理。
@MapperScan 是 MyBatis 框架中的注解,用于扫描指定包下的 Mapper 接口,将其注册为 Spring 的 Bean。
这两个注解在不同的框架中有不同的作用,@Component 主要用于声明一个类为组件,而 @MapperScan 主要用于
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)