SpringBoot怎么过滤不需要的组件

简介: 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

相关文章
|
SQL 数据库
nested exception is dm.jdbc.driver.DMException: 字符串截断
nested exception is dm.jdbc.driver.DMException: 字符串截断 问题处理
|
2月前
|
安全 Java 开发工具
整合SpringSecurity
本文介绍了Spring Security与Spring Boot的整合步骤:引入依赖、启动验证及登录测试。通过日志变化和自动跳转至login页面验证集成成功,使用默认用户名user和控制台生成的动态密码登录后,可访问受保护资源。完整代码见GitHub仓库Day01分支。
|
8天前
|
人工智能 自然语言处理 安全
阿里云保姆级OpenClaw(原Clawdbot)部署飞书对接教程 手把手教你搭建AI助手
OpenClaw(前身为Clawdbot、Moltbot)是一款具备自然语言理解、任务自动化执行与多工具集成能力的AI代理工具,无需专业编程技能,即可实现文档处理、日程管理、信息查询、开发辅助、轻量团队协同等多元实操功能,适配个人办公与团队协作等多种场景。2026年,OpenClaw在版本迭代中进一步优化了与飞书的集成适配,阿里云则针对新手用户推出专属一键部署方案,通过预置标准化专属镜像,提前完成运行环境、核心依赖的安装配置,彻底简化了传统部署中复杂的参数调试、依赖冲突解决等流程,真正实现“零技术门槛、秒级落地”,无需额外开发即可完成与飞书的无缝联动。
781 4
SpringBoot--自动装配机制
SpringBoot--自动装配机制
|
2月前
|
Java
SpringBoot--打包
SpringBoot打包方法
|
2月前
|
Java Maven
Maven
当Maven依赖拉取失败时,需提前配置公司私服及阿里云镜像,并在IDEA中正确设置。若某jar包下载失败,检查本地仓库对应目录下是否有含"update"的文件,若有则删除该jar所在文件夹(非全部),再刷新Maven即可解决。
|
2月前
|
Java 开发工具 Nacos
微服务技术栈——入职帮助
开通SCRM测试环境账号,配置Rancher、Jenkins、MySQL等服务地址及权限。安装JDK、Maven、IDEA并配置环境。拉取Git代码(需Developer权限),熟悉项目结构与技术架构,通过天机Day01指导梳理核心流程,技术问题先查百度,业务问题咨询同事,权限问题联系组长。
|
7月前
|
Java Apache 开发者
解决java.lang.IllegalArgumentException: Invalid uri由无效查询引起的问题
最后,当你修改代码以避免这个异常时,保持代码的整洁和可读性同样重要。注释你的代码,用意图清晰的方法名,并确保逻辑简单明了,这样在未来你或其他开发者需要时可以轻松地维护它。
883 20
|
12月前
|
NoSQL Java 测试技术
【📕分布式锁通关指南 05】通过redisson实现分布式锁
本文介绍了如何使用Redisson框架在SpringBoot中实现分布式锁,简化了之前通过Redis手动实现分布式锁的复杂性和不完美之处。Redisson作为Redis的高性能客户端,封装了多种锁的实现,使得开发者只需关注业务逻辑。文中详细展示了引入依赖、配置Redisson客户端、实现扣减库存功能的代码示例,并通过JMeter压测验证了其正确性。后续篇章将深入解析Redisson锁实现的源码。
456 0
【📕分布式锁通关指南 05】通过redisson实现分布式锁
|
Java
springboot Test 测试类中如何排除一个bean类
springboot Test 测试类中如何排除一个bean类
621 0