Springboot中的@ComponentScan注解使用解析
作者:沐雨金鳞
这篇文章主要介绍了Springboot中的@ComponentScan注解使用解析,@ComponentScan用于类或接口上主要是指定扫描路径,spring会把指定路径下带有指定注解的类注册到IOC容器中,需要的朋友可以参考下
@ComponentScan注解
一、@ComponentScan注解作用
扫描指定注解的类注册到IOC容器中
- @ComponentScan用于类或接口上主要是指定扫描路径,spring会把指定路径下带有指定注解的类注册到IOC容器中。
- 会被自动装配的注解包括@Controller、@Service、@Component、@Repository等等。
- 其作用等同于<context:component-scan base-package="com.maple.learn" />配置。
二、@ComponentScan使用
常用属性如下:
- basePackages、value:指定扫描路径,如果为空则以@ComponentScan注解的类所在的包为基本的扫描路径
- basePackageClasses:指定具体扫描的类
- includeFilters:指定满足Filter条件的类
- excludeFilters:指定排除Filter条件的类
- includeFilters和excludeFilters 的FilterType可选:ANNOTATION=注解类型默认、ASSIGNABLE_TYPE(指定固定类)、ASPECTJ(ASPECTJ类型)、REGEX(正则表达式)、CUSTOM(自定义类型),自定义的Filter需要实现TypeFilter接口
三、@ComponentScan的常见的配置
@ComponentScan(value="com.maple.learn", excludeFilters = {@ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class)}, includeFilters = {@ComponentScan.Filter(type=FilterType.ANNOTATION,classes={Controller.class})} ) public class SampleClass{ ……
到此这篇关于Springboot中的@ComponentScan注解使用解析的文章就介绍到这了,更多相关@ComponentScan注解使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!