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常用的加密算法
Jun 11 Java/Android
启动Tomcat时出现大量乱码的解决方法
Jun 21 Java/Android
如何给HttpServletRequest增加消息头
Jun 30 Java/Android
Java图书管理系统,课程设计必用(源码+文档)
Jun 30 Java/Android
java中用float时,数字后面加f,这样是为什么你知道吗
Sep 04 Java/Android
详解JAVA的控制语句
Nov 11 Java/Android
maven依赖的version声明控制方式
Jan 18 Java/Android
SpringCloud Function SpEL注入漏洞分析及环境搭建
Apr 08 Java/Android
Java 超详细讲解十大排序算法面试无忧
Apr 08 Java/Android
JavaWeb Servlet开发注册页面实例
Apr 11 Java/Android
Java 多线程并发FutureTask
Jun 28 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
我的群发邮件程序
2006/10/09 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
PHP new static 和 new self详解
2017/02/19 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
javascript json 新手入门文档
2009/12/03 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
python 如何快速复制序列
2020/09/07 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
社区敬老月活动实施方案
2014/02/17 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
文员转正自我鉴定怎么写
2014/09/29 职场文书
校长个人总结
2015/03/03 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript