这样就做到了不修改一行代码灵活的可拔插选择 IOC 容器了 。
虽然平时并不会直接使用到 SPI 来实现业务,但其实我们使用过的绝大多数框架都会提供 SPI 接口方便使用者扩展自己的功能 。
比如 Dubbo 中提供一系列的扩展:

文章插图
同类型的 RPC 框架 motan 中也提供了响应的扩展:

文章插图
他们的使用方式都和 Java SPI 非常类似,只不过原理略有不同,同时也新增了一些功能 。
比如 motan 的 spi 允许是否为单例等等 。
再比如 MySQL 的驱动包也是利用 SPI 来实现自己的连接逻辑 。

文章插图
Java 自身的 SPI 其实也有点小毛病,比如:
- 遍历加载所有实现类效率较低 。
- 当多个 ServiceLoader 同时 load 时会有并发问题(虽然没人这么干) 。
本文所有源码:
- Java软件有哪些 java软件有哪些
- 如何唤醒大脑的潜能 怎样才能开发大脑的潜能
- 怎么开发宝宝智力 开发智力的方法有哪些
- 青少年右脑开发训练 锻炼右脑
- 开发大脑潜能 如何开发右脑潜能
- 开发区韩语培训班 武汉韩语培训班考级
- 烟台开发区属于哪个区 烟台开发区哪里有看风水的师傅
- 常用的php开发工具推荐 常用的5款php开发工具详解
- 拼多多申请发票拒绝什么后果呢 拼多多商家怎么关闭开发票功能
- 如何开发一个12,13岁孩子的智力?
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
