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 相关文章推荐
解决Maven项目中 Invalid bound statement 无效的绑定问题
Jun 15 Java/Android
JPA如何使用entityManager执行SQL并指定返回类型
Jun 15 Java/Android
如何解决springcloud feign 首次调用100%失败的问题
Jun 23 Java/Android
深入理解java.lang.String类的不可变性
Jun 27 Java/Android
看完这篇文章获得一些java if优化技巧
Jul 15 Java/Android
浅谈sql_@SelectProvider及使用注意说明
Aug 04 Java/Android
SpringCloud之@FeignClient()注解的使用方式
Sep 25 Java/Android
Java8中接口的新特性使用指南
Nov 01 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
Mar 22 Java/Android
Flutter Navigator 实现路由传递参数
Apr 22 Java/Android
Android Studio实现带三角函数对数运算功能的高级计算器
May 20 Java/Android
SpringBoot详解自定义Stater的应用
Jul 15 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面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
php smarty函数扩展
2010/03/15 PHP
thinkphp的c方法使用示例
2014/02/24 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
php session的应用详细介绍
2017/03/22 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
儿科主治医生个人求职信
2013/09/23 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
参观接待方案
2014/03/17 职场文书
学校志愿者活动总结
2014/06/27 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
党员证明模板
2015/06/19 职场文书