springboot 启动如何排除某些bean的注入


Posted in Java/Android onAugust 02, 2021

springboot 启动排除某些bean的注入

问题:

最近做项目的时候,需要引入其他的jar。然后还需要扫描这些jar里的某些bean。于是使用注解:@ComponentScan

这个注解直接指定包名就可以,它会去扫描这个包下所有的class,然后判断是否解析:

@ComponentScan(basePackages = {"your.pkg","other.pkg"})
public class Application {
} 

其他的jar中定义了 redissonConfig 这个bean。然后我自己的项目也定义了redissonConfig 这个bean。导致项目启动报错。所以使用如下方式,排除jar 中的RedissonConfig.class。

@ComponentScan(basePackages = {"com.xx.xx.*"}, excludeFilters =@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {RedissonConfig.class}))

@ComponentScan注解

扫描或解析的bean只能是Spring内部所定义的,比如@Component、@Service、@Controller或@Repository。如果有一些自定义的注解,比如@Consumer、这个注解修饰的类是不会被扫描到的。这个时候我们就得自定义扫描器完成这个操作。

配置文件中使用的:

component-scan标签底层使用ClassPathBeanDefinitionScanner这个类完成扫描工作的。@ComponentScan注解配合@Configuration注解使用,底层使用ComponentScanAnnotationParser解析器完成解析工作。

springboot排除扫描包

@SpringBootApplication
@ComponentScan(excludeFilters = 
 {
   @ComponentScan.Filter(type = FilterType.REGEX,pattern = "com.action.other.*") 
 })
public class Application {
 
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

根据FilterType不同有不同的过滤方式,这里是根据正则过滤

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
解决tk mapper 通用mapper的bug问题
Jun 16 Java/Android
Jackson 反序列化时实现大小写不敏感设置
Jun 29 Java/Android
JavaWeb Servlet实现网页登录功能
Jul 04 Java/Android
Spring实现内置监听器
Jul 09 Java/Android
看完这篇文章获得一些java if优化技巧
Jul 15 Java/Android
JavaWeb 入门:Hello Servlet
Jul 16 Java/Android
dubbo服务整合zipkin详解
Jul 26 Java/Android
Java org.w3c.dom.Document 类方法引用报错
Aug 07 Java/Android
聊聊Lombok中的@Builder注解使用教程
Nov 17 Java/Android
OpenCV实现普通阈值
Nov 17 Java/Android
解决springboot druid数据库连接失败后一直重连的方法
Apr 19 Java/Android
Android开发手册自定义Switch开关按钮控件
Jun 10 Java/Android
idea 在springboot中使用lombok插件的方法
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
Jul 26 #Java/Android
Sleuth+logback 设置traceid 及自定义信息方式
Jul 26 #Java/Android
Java日常练习题,每天进步一点点(38)
Jul 26 #Java/Android
dubbo集成zipkin获取Traceid的实现
Jul 26 #Java/Android
dubbo服务整合zipkin详解
spring boot中nativeQuery的用法
Jul 26 #Java/Android
You might like
15个小时----从修改程序到自己些程序
2006/10/09 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
2015/04/03 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python爬取哈尔滨天气信息
2018/07/14 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
商务英语专业自荐信
2013/10/14 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫