刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
面试题
Java的SPI机制
使用微信搜索喵呜刷题,轻松应对面试!
答案:
分析&回答
SPI 全称为 Service Provider Interface,是一种服务发现机制;SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。
SPI 机制的约定:
- 在META-INF/services/目录中创建以接口全限定名命名的文件该文件内容为Api具体实现类的全限定名
- 使用ServiceLoader类动态加载META-INF中的实现类
- 如SPI的实现类为Jar则需要放在主程序classPath中
- Api具体实现类必须有一个不带参数的构造方法

反思&扩展
很多人会同时想到 Dubbo 的 SPI机制,但Dubbo 并非使用 Java 原生的 SPI 机制,而是对其进行了增强,使其能够更好的满足需求。
创作类型:
原创
本文链接:Java的SPI机制
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



