分布式扫描bean问题

今天我突然想到,为什么现在项目上会有一个 spring.factories 文件,原来它是用来批量扫描类,然后加到容器中的。

前几天我查了一下这个文件,发现这个文件是springboot运行时,会查询这个文件,然后把里面配置的类路径扫描,我就在想,springboot明明会自动扫描,为啥还要个这个。

我还自己去搞了一个配置类因为第三方模块的包路径完全和自己的包路径相同,所以我启动springboot的时候它就扫描到了)也可以用,然后我记没管它了。
所以我们现在就知道了有三种扫描bean的方式:

1、直接使用 @ComponentScan,但是springboot启动类注解已经包含他了,所以使用springboot就不用它了。

2、@Import({ScanTest.class}),挨个挨个扫描,这种方式也是可以的

3、用spring.factories 文件,springboot在运行的时候就会找到这个文件,加载里面的类到ioc中。

还有一个就是只要第三方包路径和自己完全相同,也是会被springboot启动类扫描的,但是几乎不可能!!!!第三方模块肯定有自己的包名,所以最上面遇到这个问题,纯粹是因为自己不规范!!!!

相关推荐
小满zs14 分钟前
Go语言第一章(入门)
后端·go
用户67570498850225 分钟前
Kafka 太重?试试 NSQ:一个优雅到极致的消息队列
后端·go
铁皮饭盒32 分钟前
S3已成为文件存储标准,阿里/腾讯/华为云都支持,Bun率先原生支持
前端·javascript·后端
洛卡卡了33 分钟前
Claude Code Hook,当 CLAUDE.md 规则不生效时,我们还需要强制拦截机制
后端·agent·claude
用户67570498850234 分钟前
RabbitMQ 太重,Kafka 太复杂?Go 开发者:Asynq分布式任务队列就刚刚好
后端·go
AlbertLuo1 小时前
CodeMirror使用: 编写一个在线编辑HTML、JS、CSS文件,网页的模板页面-初实现
后端
SamDeepThinking1 小时前
裁掉那个差程序员后,给你看团队里高手的代码:这个习惯,希望你有
java·后端·程序员
Oneslide2 小时前
windows 11远程桌面连Ubuntu GNOME 远程登录频繁断开
后端
咕白m6252 小时前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
云技纵横3 小时前
@Transactional 里套 REQUIRES_NEW,为什么会把连接池耗尽?
后端·面试