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 注解的扫描中。它们提供了多种筛选组件的方式,可以根据不同的条件和需求进行配置。

相关推荐
木井巳1 小时前
[Java数据结构和算法] HashMap 和 HashSet
java·数据结构·1024程序员节
祈祷苍天赐我java之术2 小时前
解析常见的限流算法
java·数据结构·算法
摇滚侠2 小时前
IDEA 启动前端项目 IDEA 切换分支
java·ide·intellij-idea
元直数字电路验证2 小时前
Jakarta EE开发中,如何配置IntelliJ IDEA的远程调试?
java·eureka·intellij-idea
石头wang2 小时前
idea字体的问题(idea应用本身的字体问题)
java·ide·intellij-idea
孔明兴汉3 小时前
第一章-第三节-Java开发环境配置
java·开发语言
小王不爱笑1323 小时前
Java 核心知识点查漏补缺(一)
java·开发语言·python
空空kkk3 小时前
Java——类和对象
java·开发语言
JIngJaneIL4 小时前
篮球论坛|基于SprinBoot+vue的篮球论坛系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·篮球论坛系统
毕设源码-赖学姐4 小时前
【开题答辩全过程】以 安卓的服装销售APP为例,包含答辩的问题和答案
java·eclipse·tomcat