当前位置: 首页 > news >正文

Springboot项目排除Bean的方法

前言:

        在最近工作中,相关业务代码需要引用一个工具包。原来的同事在工具包中,封装了Spring AOP切面的Bean,但是这样的工具包非常不友好,工具包不应该有这些特殊的处理。有了这些特殊的处理,引用方也要特殊处理。

正文:

        因为工具包中封装了Spring切面bean,我首先想到在@SpringBootApplication注解中exclude属性添加该类,但是报“The following classes could not be excluded because they are not auto-configuration classes:XXXXXXXX”错误。原因是:@SpringBootApplication注解的exclude只可以排除spring自动配置的bean。

        经过搜索资料,@ComponentScan注解的excludeFilters可以排除该bean,具体写法如下:

@ComponentScan(value = "com.xxx",excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,classes={Xxx.class})})

        @ComponentScan注解的excludeFilters一个支持五种类型:FilterType.ANNOTATION:按照注解方式、FilterType.ASSIGNABLE_TYPE:按照指定类型的方式、FilterType.ASPECTJ:使用ASPECTJ表达式的方式、FilterType.REGEX:利用正则表达式方式、FilterType.CUSTOM:自己实现TypeFilter接口进行自定义规则。每种规则如何使用,请大家自行学习一下吧。

http://www.lryc.cn/news/96427.html

相关文章:

  • 阿里云国际版云服务器防火墙设置
  • 科技资讯|苹果开放Vision Pro头显开发套件申请,此前曝光三款电池
  • Langchain 的 LLMChain
  • 100天精通Golang(基础入门篇)——第17天:深入解析Go语言中的指针
  • 第七章:WILDCAT: 弱监督学习的深度卷积神经网络用于图像分类、点位定位和分割
  • Axios-post请求下载文件
  • 视频增强技术-对比度增强
  • uni-app点击按钮弹出提示框(以弹窗的形式显示),选择确定和取消
  • linux部署es+kibana
  • 二十三种设计模式第十七篇--迭代子模式
  • 《零基础入门学习Python》第056讲:论一只爬虫的自我修养4:网络爬图
  • 23.7.26总结(博客项目)
  • 安全第一天
  • SpringCloud学习路线(12)——分布式搜索ElasticSeach数据聚合、自动补全、数据同步
  • cloudstack的PlugNicCommand的作用
  • LT9211C 是一款MIPI/RGB/2PORT LVDS互转的芯片
  • 【Rust 基础篇】Rust 通道(Channel)
  • 学习 C语言第二天 :C语言数据类型和变量(下)
  • 【Kubernetes资源篇】ingress-nginx最佳实践详解
  • Java基础阶段学习哪些知识内容?
  • 【HISI IC萌新虚拟项目】ppu整体uvm验证环境搭建
  • 图像处理之hough圆形检测
  • el-upload文件上传(只能上传一个文件且再次上传替换上一个文件) vue3+vite+ts
  • 随手笔记——根据点对来估计相机的运动综述
  • ip校园广播音柱特点
  • 用 Node.js 手写 WebSocket 协议
  • Xilinx AXI VIP使用教程
  • mysql主主架构搭建,删库恢复
  • pythonweek1
  • 进程虚拟地址空间区域划分