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 11 Java/Android
java多态注意项小结
Oct 16 Java/Android
解析探秘fescar分布式事务实现原理
Feb 28 Java/Android
Spring Boot 底层原理基础深度解析
Apr 03 Java/Android
零基础学java之循环语句的使用
Apr 10 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
Spring IOC容器Bean的作用域及生命周期实例
May 30 Java/Android
Android开发EditText禁止输入监听及InputFilter字符过滤
Jun 10 Java/Android
springboot读取resources下文件的方式详解
Jun 21 Java/Android
java中如何截取字符串最后一位
Jul 07 Java/Android
向Spring IOC 容器动态注册bean实现方式
Jul 15 Java/Android
前端与RabbitMQ实时消息推送未读消息小红点实现示例
Jul 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
php字符串过滤与替换小结
2015/01/26 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
php格式化json函数示例代码
2016/05/12 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
js实现点击烟花特效
2020/10/14 Javascript
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
彻底理解Python中的yield关键字
2019/04/01 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
keras打印loss对权重的导数方式
2020/06/10 Python
为什么说python适合写爬虫
2020/06/11 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
教师实习的自我鉴定
2013/10/26 职场文书
建材业务员岗位职责
2013/12/08 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
升学宴主持词
2014/04/02 职场文书
务虚会发言材料
2014/12/25 职场文书
2016年寒假见闻
2015/10/10 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python