Java SPI 与 Dubbo SPI区别

1、java spi实际上就是首先在META-INF/services/文件下获取到一个与java服务包名相同的一个路径,这个路径其实指定的是某一个接口的实现类,通过获取到这个路径以后,就可以通过classForName等方式来获取到实现类。但是不提供IOC,AOP功能,而且也不提供实现类的选择。

2、Dubbo的SPI机制,除了提供基本java spi功能以外,还提供IOC,AOP机制,但跟Spring的ioc,aop是有所不同的。

IOC实现方式:对于需要依赖注入的类,由于我们注入的时候,可能注入的是一个接口,那么我们怎么知道是对应哪个实现类呢? 这个时候Dubbo会去帮我们获取到META-INF/services/配置中配置的实现类路径,然后去动态生成这个实现类,这个实现类可以理解成一个代理对象,所以当我们在使用原来依赖注入的类的时候,就会去调用实现类这个代理对象里面的方法,这样就实现了IOC的功能。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值