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 相关文章推荐
Java Shutdown Hook场景使用及源码分析
Jun 15 Java/Android
Java各种比较对象的方式的对比总结
Jun 20 Java/Android
Java基于字符界面的简易收银台
Jun 26 Java/Android
Netty结合Protobuf进行编解码的方法
Jun 26 Java/Android
聊聊Lombok中的@Builder注解使用教程
Nov 17 Java/Android
Springboot如何同时装配两个相同类型数据库
Nov 17 Java/Android
零基础学java之带参数以及返回值的方法
Apr 10 Java/Android
IDEA 2022 Translation 未知错误 翻译文档失败
Apr 24 Java/Android
Java 多态分析
Apr 26 Java/Android
Java Spring Lifecycle的使用
May 06 Java/Android
Java实现字符串转为驼峰格式的方法详解
Jul 07 Java/Android
Java Redisson多策略注解限流
Sep 23 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
cache_lite试用
2007/02/14 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
php之可变变量的实例详解
2017/09/12 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
python实现文本文件合并
2015/12/29 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
软件测试笔试题
2012/10/25 面试题
小学新学期教师寄语
2014/01/18 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers