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))
  1. ASSIGNABLE_TYPE:这个过滤类型表示按照指定的类(或接口)来筛选组件类。只有那些与指定类型相同或是其子类的组件类会被包括。
@ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = MyService.class))
  1. ASPECTJ:这个过滤类型表示按照 AspectJ 表达式来筛选组件类。AspectJ 表达式允许更复杂的匹配规则,可以根据类名、方法签名、注解等来筛选组件。
@ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.ASPECTJ, pattern = "com.example.*.service.*"))
  1. CUSTOM:这个过滤类型表示使用自定义的 TypeFilter 实现类来筛选组件。你需要实现 TypeFilter 接口并在 value 属性中指定自定义过滤器的类。
@ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.CUSTOM, value = MyCustomFilter.class))
  1. REGEX:这个过滤类型表示使用正则表达式来筛选组件类。只有与正则表达式匹配的组件类会被包括。
@ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*Repository"))
  1. ANNOTATION自定义注解:除了上述常见的过滤类型,你还可以使用自定义注解类型,将其与 ANNOTATION 结合使用,以便使用自定义注解来筛选组件类。
@ComponentScan(basePackages = "com.example", includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, value = MyCustomAnnotation.class))

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/222746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业应用开发中.NET EF常用哪种模式?

EF/EF Core介绍 Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET 的现代对象数据库映射器。它支持 LINQ 查询、更改跟踪、更新和架构迁移。EF Core 通过提供程序插件 API 与 SQL Server、…

【Mysql】myisam和innodb的区别?

0 回答 myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支持外键,并且索引和数据是分开存储的。innodb是基于聚簇索引建立的,和myisam相反它支持事务、外键,并且通…

spring 笔记六 SpringMVC 获得请求数据

文章目录 SpringMVC 获得请求数据获得请求参数获得基本类型参数获得POJO类型参数获得数组类型参数获得集合类型参数请求数据乱码问题参数绑定注解requestParam获得Restful风格的参数获得Restful风格的参数自定义类型转换器获得Servlet相关API获得请求头RequestHeaderCookieValu…

js解析.shp文件

效果图 原理与源码 本文采用的是shapefile.js工具 这里是他的npm地址 https://www.npmjs.com/package/shapefile 这是他的unpkg地址,可以点开查看源码 https://unpkg.com/shapefile0.6.6/dist/shapefile.js 这个最关键的核心问题是如何用这个工具,网上…

docker容器引擎

1、安装docker yum install docker 2、启动docker并设置为开机自动启动 systemctl start docker systemctl enable docker 3、查看版本 docker version 4、修改为国内镜像源 vi /etc/docker/daemon.json { “registry-mirrors”: [“http://hub-mirror.c.163.com”, “https:/…

使用Redis+AOP优化查询性能

应用场景 在某些场景下,我们会经常查询某些特定数据,例如用户跳转各种页面都会查询用户具备该页面权限。 这种需求在流量较小的情况下没有什么问题,但如果出现大流量进行各种页面跳转的花,频繁IO对系统性能是有着非常严重的影响的…

Vue3-18-侦听器watch()、watchEffect() 的基本使用

什么是侦听器 个人理解:当有一个响应式状态(普通变量 or 一个响应式对象)发生改变时,我们希望监听到这个改变,并且能够进行一些逻辑处理。那么侦听器就是来帮助我们实现这个功能的。侦听器 其实就是两个函数&#xff…

〖大前端 - 基础入门三大核心之JS篇(54)〗- 原型和原型链

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:哈哥撩编程,十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司…

Android之Apk相关操作,以32位或64位运行apk,区分apk支持CPU架构的办法

一、以32位或64位安装运行apk 连接手机,准备好apk文件,打开cmd 32位: adb install --abi armeabi-v7a 打包的Apk路径64位 adb install --abi arm64-v8a 打包的apk路径二、区分32位和64位包 参考链接: https://blog.51cto.com/…

JavaScript算法46- 最长连续序列(leetCode:128middle)

128. 最长连续序列 一、题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 输入:nums [100,4,200,1,3,2] 输出…

曹操出行集成:无代码API连接广告推广与用户运营

曹操出行集成的必要性 随着科技的不断进步,无代码API集成已经成为企业提升效率、优化营销策略的重要手段。对于新能源汽车共享服务领导者曹操出行而言,将其服务集成至企业营销系统中,不仅可以提升客户体验,还能加强品牌的市场竞争…

微信小程序 全局共享数据 mobx

前言 全局数据共享(又叫做:状态管理)是为了解决组件之间数据共享的问题。开发中常用的全局数据共享方案有:Vuex、Redux、MobX 等。 一. 安装 npm install --save mobx-miniprogram4.13.2 mobx-miniprogram-bindings2.1.5 安装完…

基于主动安全的AIGC数据安全建设

面对AIGC带来的数据安全新问题,是不是就应该一刀切禁止AIGC的研究利用呢?答案是否定的。要发展AIGC,也要主动积极地对AIGC的数据安全进行建设。让AIGC更加安全、可靠的为用户服务。为达到此目的,应该从三个方面来开展AIGC的数据安…

【WebRTC】用WebRTC做即时视频聊天应用

【配套项目源码】 打开即用,设置一个免费的Agora账户就可以实现视频电话。非常好的WebRTC学习和应用项目。 用VSCode打开即可。 https://download.csdn.net/download/weixin_41697242/88630069 【什么是WebRTC?】 WebRTC是一套基于JS的API,能够建立端对端的直接通信,实…

后端接口开发-web前台请求接口对后台数据库增删改查-实例

一、后端接口开发的逻辑是: 1.Application项目启动 2.前台接口Url请求后台 3.Controller控制拿到前台请求参数,传递给中间组件Service 4.Service调用Mapper.java 5. mapper.java映射到mapper.xml中的mybatis语句,类似Sql语句操作数据库 6.其…

携程英语测评(已offer)

携程英语测评大概有这么几种题型:读出屏幕上的句子,读出他说过一遍的句子,长对话听力,给题目临场说一段小作文,语法语义判断。大概就是这五个部分吧,我这里主要介绍一下临场作文题 临场作文我搜集了下网上…

GDPU 数据结构 天码行空14

实验十四 查找算法的实现 一、【实验目的】 1、掌握顺序排序,二叉排序树的基本概念 2、掌握顺序排序,二叉排序树的基本算法(查找算法、插入算法、删除算法) 3、理解并掌握二叉排序数查找的平均查找长度。 二、【实验内容】 …

群晖(Synology)云备份的方案是什么

群晖云备份方案就是在本地的 NAS 如果出现问题,或者必须需要重做整列的时候,保证数据不丢失。 当然,这些是针对有价值的数据,如果只是电影或者不是自己的拍摄素材文件,其实可以不使用云备份方案,因为毕竟云…

Ubuntu如何安装KVM

环境: 联想E14笔记本 Ubuntu20.04 问题描述: Ubuntu如何安装KVM 解决方案: 1.验证CPU是否支持硬件虚拟化 rootst-ThinkPad-E14:~# grep -Eoc (vmx|svm) /proc/cpuinfo 162.检查 VT 是否在 BIOS 中启用 安装 apt install cpu-checker …

PHP中的依赖注入是怎样的?

依赖注入(Dependency Injection,DI)是一种设计模式,它用于解耦组件之间的依赖关系,提高代码的可维护性、可测试性和灵活性。在 PHP 中,依赖注入通常通过构造函数注入、方法注入或属性注入来实现。 以下是依…