@ComponentScan的注意事项

简介: @ComponentScan的注意事项

在 Spring 中,@ComponentScan 注解用于标注一个注解类,表示要扫描的包和类。在 Spring Boot 中,@ComponentScan 注解通常用于自动配置,它会自动扫描被注解的类所在的包及其子包,并将符合条件的类的实例化并装配到 Spring 容器中。

@ComponentScan 注解需要设置一个或多个扫描路径,用于表示要扫描的包或类。具体来说,@ComponentScan 注解中的 value 属性可以设置多个扫描路径,也可以将这些扫描路径统一存放到一个数组中,例如:

@ComponentScan(value = {"com.example.mypackage"})
public class AppConfig {
// ...
}
在这个例子中,我们指定了 com.example.mypackage 的包及其子包下的所有类都会被扫描到,然后被 Spring 自动实例化并装配到容器中。

@ComponentScan 注解还有一个 basePackages 属性,可以用于指定要扫描的多个包路径:

@ComponentScan(basePackages = {"com.example.package1", "com.example.package2"})
public class AppConfig {
// ...
}
在这个例子中,我们指定了两个包路径 com.example.package1 和 com.example.package2,它们下面的所有类都会被扫描到,并被 Spring 自动实例化并装配到容器中。

需要注意的是,@ComponentScan 注解不仅仅会扫描 @Component 注解标注的类,还会扫描其他几个常用的注解标注的类,包括 @Controller、@Service、@Repository 等,因此需要保证这些注解标注的类在 @ComponentScan 的范围内。

相关文章
|
2天前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
107 73
|
7月前
|
Java 开发者 Spring
Springboot中的@Bean用法以及常见问题
【5月更文挑战第27天】@Bean 注解是Spring框架中用于声明Spring应用上下文中的bean的一种方式。在Spring Boot中,@Bean注解通常与@Configuration注解一起使用,在配置类(Configuration class)中定义bean。
210 2
|
6月前
|
XML 存储 Java
|
6月前
|
JSON 前端开发 Java
SpringBoot常用注解与注意事项
SpringBoot常用注解与注意事项
53 0
|
7月前
|
Java 测试技术 Spring
Spring-基于注解的配置[02自动装载bean]
Spring-基于注解的配置[02自动装载bean]
103 0
|
XML 前端开发 Java
Spring-基于注解的配置[01定义Bean+扫描Bean]
Spring-基于注解的配置[01定义Bean+扫描Bean]
136 0
|
Java 数据库连接 数据库
【SpringBoot2 从0开始】底层注解 - @ConfigurationProperties 配置绑定
【SpringBoot2 从0开始】底层注解 - @ConfigurationProperties 配置绑定
【SpringBoot2 从0开始】底层注解 - @ConfigurationProperties 配置绑定
|
Java Spring 容器
Spring注解(二):@ComponentScan自动扫描组件
前一篇文章:Spring注解(一):@Configuration、@Bean给容器中注册组件,提到了如何通过使用配置文件的方式和注解的方式进行简单的组件注册。这里将介绍如何使用@ComponentScan注解进行组件的自动扫描。
419 0
Spring注解(二):@ComponentScan自动扫描组件
|
Java 容器
SpringBoot中配置绑定的三种方法(@ConfigurationProperties注解)
SpringBoot中配置绑定的三种方法(@ConfigurationProperties注解)
343 0
SpringBoot中配置绑定的三种方法(@ConfigurationProperties注解)
|
前端开发 Java 应用服务中间件
曾经的你我高攀不起,现在的我只想注解和配置(下)
四、Controller配置总结 实现Controller接口 使用注解开发@Controller
曾经的你我高攀不起,现在的我只想注解和配置(下)