千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:哈尔滨千锋IT培训  >  技术干货  >  Dubbo SPI 和 Java SPI 区别?

Dubbo SPI 和 Java SPI 区别?

来源:千锋教育
发布人:xqq
时间:2023-10-14 04:26:56

一、Dubbo SPI 和 Java SPI 区别

Java SPI

核心类:java.util.ServiceLoader

服务是一组众所周知的接口和(通常是抽象的)类。服务提供者是服务的特定实现。提供者中的类通常实现接口,并子类化服务本身中定义的类。服务提供者可以以扩展的形式安装在Java平台的实现中,即放置在任何常见扩展目录中的jar文件。提供程序也可以通过将它们添加到应用程序的类路径或其他特定于平台的方法来提供。

通过在资源目录META-INF/services中放置一个提供程序配置文件来识别服务提供程序。文件名是服务类型的完全限定二进制名称。该文件包含具体提供程序类的完全限定二进制名的列表,每行一个。每个名称周围的空格和制表符以及空白行将被忽略。注释字符是’#’;在每一行中,名列前茅个注释字符之后的所有字符都将被忽略。文件必须用UTF-8编码。

Dubbo SPI

Dubbo重新实现了一套功能更强的SPI机制, 支持了AOP与依赖注入,并且利用缓存提高加载实现类的性能,同时支持实现类的灵活获取。

核心类:org.apache.dubbo.common.extension.ExtensionLoader

对 Dubbo 进行扩展,不需要改动 Dubbo 的源码

延迟加载,可以一次只加载自己想要加载的扩展实现。

增加了对扩展点 IOC 和 AOP 的支持,一个扩展点可以直接 setter 注入其

它扩展点。

Dubbo 的扩展机制能很好的支持第三方 IoC 容器,默认支持 Spring Bean。

延伸阅读:

二、扩展点

Dubbo作用灵活的框架,并不会强制所有用户都一定使用Dubbo提供的某些架构。例如注册中心(Registry),Dubbo提供了zk和redis,但是如果我们更倾向于其他的注册中心的话,我们可以替换掉Dubbo提供的注册中心。针对这种可被替换的技术实现点我们称之为扩展点,类似的扩展点有很多,例如Protocol,Filter,Loadbalance等等。

以上就是关于Dubbo SPI 和 Java SPI 区别的内容希望对大家有帮助。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

DevOps 是什么?

2023-10-14

蒙特卡洛模拟有哪些组成部分?

2023-10-14

物联网有哪些应用?

2023-10-14

最新文章NEW

常用的 GRC 工具有哪些作用?

2023-10-14

激活activity的方法有哪些?

2023-10-14

css预编译有哪些?

2023-10-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>