SpringIOC之FilterType

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用ChatGPT,微信支付,扫码加群

点击这里预览

🍅开源项目免费哦 (有vue2与vue3版本): 击这里克隆或者下载 🍅

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12199600.html

有需求代码永远写不完,而方法才是破解之道,抖音有实战视频课程,某马某千等培训都是2万左右,甚至广东有本科院校单单一年就得3万4年就12万学费,而且还没有包括吃饭的钱。所以很划算了。另外博客左侧有源码阅读专栏,对于求职有很大帮助,当然对于工作也是有指导意义等。在大城市求职,你面试来回一趟多多少少都在12块左右,而且一般不会一次性就通过,还得面试几家。而如果你对源码以及微服务等有深度认识,这无疑给你的面试添砖加瓦更上一层楼。

最后再送一句:最好是学会了,而不是学废了!!!

Spring 框架中的 FilterType 是一个枚举类型,用于在使用 @ComponentScan 注解时指定要包含或排除的组件类型。@ComponentScan 注解用于告诉 Spring 在哪里搜索组件类,以便将它们注册到容器中。

FilterType 枚举包括以下常量:

  1. ANNOTATION:这是默认的过滤类型。它表示按照指定的注解类型来筛选组件类。你可以使用 value 属性来指定要使用的注解类型,然后 @ComponentScan 注解会扫描并注册带有该注解的类。

    @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, value = MyAnnotation.class))

  2. ASSIGNABLE_TYPE:这个过滤类型表示按照指定的类(或接口)来筛选组件类。只有那些与指定类型相同或是其子类的组件类会被包括。

    @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = MyService.class))

  3. ASPECTJ:这个过滤类型表示按照 AspectJ 表达式来筛选组件类。AspectJ 表达式允许更复杂的匹配规则,可以根据类名、方法签名、注解等来筛选组件。

    @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.ASPECTJ, pattern = "com.example..service."))

  4. CUSTOM:这个过滤类型表示使用自定义的 TypeFilter 实现类来筛选组件。你需要实现 TypeFilter 接口并在 value 属性中指定自定义过滤器的类。

    @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.CUSTOM, value = MyCustomFilter.class))

  5. REGEX:这个过滤类型表示使用正则表达式来筛选组件类。只有与正则表达式匹配的组件类会被包括。

    @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*Repository"))

  6. ANNOTATION自定义注解:除了上述常见的过滤类型,你还可以使用自定义注解类型,将其与 ANNOTATION 结合使用,以便使用自定义注解来筛选组件类。

    @ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, value = MyCustomAnnotation.class))

这些过滤类型允许你更精细地控制哪些组件类会被包含或排除在 @ComponentScan 注解的扫描中。它们提供了多种筛选组件的方式,可以根据不同的条件和需求进行配置。

相关推荐
axinawang3 分钟前
通过RedisCacheManager自定义缓存序列化(适用通过注解缓存数据)
前端·spring·bootstrap
白露与泡影4 分钟前
Java面试避坑指南:牛客网最新高频考点+答案详解
java·开发语言·面试
qq_12498707534 分钟前
基于Node.js的线上教学系统的设计与实现(源码+论文+调试+安装+售后)
java·spring boot·后端·node.js·毕业设计
CodeCraft Studio7 分钟前
图像处理控件Aspose.Imaging教程:用Java将 CMX 转换为 PNG
java·图像处理·python·aspose
葡萄城技术团队14 分钟前
Java 实现 Excel 转化为 PDF
java
@zcc@17 分钟前
Java日期格式化
java·开发语言
葡萄城技术团队23 分钟前
Java 实现 Excel 转化为图片
java
惊鸿一博36 分钟前
java_api路径_@Parameter与@RequestParam区别
java·python
异常君38 分钟前
Java 虚拟线程技术详解:原理、实践与优化(下)
java
啃瓜子的松鼠1 小时前
泛微OAe9-自定义资源看板
java·后端·sql