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实战之用Swing实现通讯录管理系统
Jun 13 Java/Android
Java基础之详解HashSet的使用方法
Jun 30 Java/Android
JavaWeb 入门:Hello Servlet
Jul 16 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
Aug 30 Java/Android
剑指Offer之Java算法习题精讲二叉树专项训练
Mar 21 Java/Android
Java实战之课程信息管理系统的实现
Apr 01 Java/Android
Elasticsearch Recovery 详细介绍
Apr 19 Java/Android
Android Studio实现简易进制转换计算器
May 20 Java/Android
Android中View.post和Handler.post的关系
Jun 05 Java/Android
Java界面编程实现界面跳转
Jun 16 Java/Android
tree shaking对打包体积优化及作用
Jul 07 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
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
修改发贴的编辑功能
2007/03/07 Javascript
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
ext监听事件方法[初级篇]
2008/04/27 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
区域销售主管岗位职责
2014/06/15 职场文书
交通安全横幅标语
2014/10/07 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
小学作文之描写天气
2019/08/15 职场文书
python爬虫--selenium模块
2021/03/31 Python
python如何做代码性能分析
2021/04/26 Python
python Django框架快速入门教程(后台管理)
2021/07/21 Python