开发者社区 通义灵码 文章 正文

SpringBoot怎么过滤不需要的组件

2025年12月19日 60
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介: Spring Boot中IOC容器确实存在,若不想某些Bean在启动时注入,可通过@ComponentScan指定扫描范围,或自定义TypeExcludeFilter排除特定类,也可在配置文件中设置过滤规则,灵活控制Bean加载。

【面试题】:Spring IOC容器在boot中也是存在的对吧,那有一些Bean我不想在启动时就注入IOC容器,这种情况有遇到过吗?

【个人理解】:目前还没遇到,不过要是实现的话,在启动类上加上@ComponentScan注解,在value中写上指定的:*.class是可以实现的【参见2.4小结】,或继承TypeExcludeFilter ,重写match方法,如默认会加载com.test.TestService这个bean,则重写的方法中,
public class MyTypeExcludeFilter extends TypeExcludeFilter {
@Override
public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)
throws IOException {
if("com.test.TestService".equals(metadataReader.getClassMetadata().getClassName())){
return false;
}
return true;
}
}
或者直接在boot配置文件中添加,其是支持的【但是我没细究如何配置,这个百度下应该就有】,如下:
image.png

目录
热门文章
最新文章

AltStyle によって変換されたページ (->オリジナル) /