自学内容网 自学内容网

@Component,@ComponentScan,@MapperScan注解

这三个注解通常用于在 Spring 框架中配置和启用组件扫描和数据库映射。让我们逐个解释它们的作用:

1. @Component

@Component
public class Main {
    // class implementation
}
  • @Component 是 Spring 框架的核心注解之一,它用于将 Java 类标识为 Spring 托管的组件。被 @Component 注解标记的类会被 Spring 自动扫描并注册为 Spring 应用上下文中的 Bean。这样,你就可以在应用程序的其他部分使用这些 Bean。

2. @ComponentScan

@ComponentScan(basePackages = "com.example.demo")
  • @ComponentScan 注解用于配置 Spring 在启动时要扫描的包路径。它告诉 Spring 去哪些包下面查找 @Component 注解(以及其派生注解如 @Repository@Service@Controller 等),并将其注册为 Spring Bean。在上面的示例中,指定了 com.example.demo 作为扫描的根包路径,Spring 将扫描该包及其子包中的组件。

记住与@SpringBootApplication注解有冲突

3. @MapperScan

@MapperScan("com.example.demo.mapper")
  • @MapperScan 是 MyBatis 框架中的注解,用于指定 MyBatis 的 Mapper 接口所在的包路径。MyBatis 是一个持久层框架,它通过 @MapperScan 注解告诉 Spring 在启动时去指定的包路径下查找 MyBatis 的 Mapper 接口,并自动创建对应的 Mapper Bean,以便在其他地方注入和使用这些 Mapper 接口。

综上所述:

  • @Component 用于将 Java 类标记为 Spring 组件,让 Spring 可以管理和使用这些组件。
  • @ComponentScan 用于配置 Spring 在启动时要扫描的包路径,以便找到和注册标记为 @Component 的类。
  • @MapperScan 用于配置 MyBatis 框架的 Mapper 接口所在的包路径,使得这些 Mapper 接口能够在 Spring 中被正确注册和使用。

这些注解在 Spring 应用程序中通常结合使用,以便自动化地配置和管理组件和持久层的映射。


原文地址:https://blog.csdn.net/wsrzsfgst/article/details/140452037

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!