@ComponentScan的特点

简介: @ComponentScan的特点

@ComponentScan是Spring框架中的注解之一,用于指示Spring在哪些包下查找需要注册为Bean的组件,以及被其他组件依赖的组件。通过使用@ComponentScan注解,我们可以避免在配置文件中逐个定义Bean对象的繁琐操作,实现快速装配Bean,并将它们自动注册到Spring容器中。

具体来说,@ComponentScan注解具有以下特点:

可指定扫描包范围:@ComponentScan注解可以指定需要扫描的“base package”范围。默认情况下,Spring会扫描当前类所在的包和子包中所有的组件。

注解扫描过滤规则:@ComponentScan注解提供了多种策略来过滤不需要注册为Bean的组件。如excludeFilters和includeFilters等,可以根据正则表达式、注解类型等条件来过滤组件。

默认装配规则:当Spring扫描组件时,它会默认查找标记了@Component、@Service、@Repository和@Controller等注解的类,并将其注册为Bean。如果要扫描其他注解或自定义注解,则需要使用@ComponentScan的includeFilters属性进行指定。

配置类使用:@ComponentScan注解通常与其他注解配合使用,如@Configuration、@EnableAutoConfiguration、@SpringBootApplication等注解可以与@ComponentScan注解结合使用,实现更方便的配置。

相关文章
|
6月前
|
Java 开发者 Spring
深入理解Spring Boot的@ComponentScan注解
【4月更文挑战第22天】在构建 Spring Boot 应用时,@ComponentScan 是一个不可或缺的工具,它使得组件发现变得自动化和高效。这篇博客将详细介绍 @ComponentScan 的基本概念、关键属性及其在实际开发中的应用。
369 4
|
XML Java 数据格式
SpringIoC基于注解配置
一、Bean注解标记和扫描 (IoC) 二、组件(Bean)作用域和周期方法注解 三、Bean属性赋值:引用类型自动装配 (DI) 四、Bean属性赋值:基本类型属性赋值 (DI)
63 0
|
Java C++ Spring
Spring 注解 @Qualifier 详解
Spring 注解 @Qualifier 详解
229 0
Zp
|
小程序 Java Spring
记@ComponentScan注解的坑
记@ComponentScan注解的坑
Zp
459 0
|
Java Spring 容器
为什么Spring不推荐使用@Autowired注解?
在实际工作中,使用IDEA开发时,很多码友都喜欢使用@Autowired注解进行依赖注入,这个时候 IDEA 就会报黄色警告,代码一片warning,代码洁癖的我不允许这么一个不明不白的警告在这里。@Autowired作为Spring的亲儿子,为啥在IDEA中提示了这么一个警告?所以,带着我的洁癖,和我的好奇心,开始研究起了这个警告。
1718 3
一文深入了解ConfigurationProperties注解
一文深入了解ConfigurationProperties注解
379 0
一文深入了解ConfigurationProperties注解
|
XML Dubbo Java
三、那些高曝光的Annotation(@ComponentScan、@PropertySource与@PropertySources、@Import与ImportResource)
我们可以通过basePackages等属性来细粒度地定制@ComponentScan自动扫描的范围,如果不指定,则默认Spring框架实现会从声明@ComponentScan所在类的package进行扫描。
103 0
|
Java Spring 容器
Spring系列(三):@ComponentScan注解用法介绍
@ComponentScan注解一般和@Configuration注解一起使用,主要的作用就是定义包扫描的规则,然后根据定义的规则找出哪些需类需要自动装配到spring的bean容器中,然后交由spring进行统一管理
Spring系列(三):@ComponentScan注解用法介绍
|
Java Spring
@ConfigurationProperties注解的理解和使用
@ConfigurationProperties注解的理解和使用
|
Java 开发者 Spring
@PropertySource、@ImportResource、@Bean | 学习笔记
快速学习@PropertySource、@ImportResource、@Bean