dubbo spi

源码解析见我的另一个博客

https://www.cnblogs.com/zhouyanger/p/13266654.html

1.新建接口,并用@SPI标示

package com.zy.dubbospi;

import com.alibaba.dubbo.common.extension.Adaptive;
import com.alibaba.dubbo.common.extension.SPI;

@SPI
public interface Robot {
void sayHello();
}
2.实现类
package com.zy.dubbospi;

public class FirstRobot implements Robot{
@Override
public void sayHello() {
System.out.println("firstRobt");
}
}
package com.zy.dubbospi;

public class SecondRobot implements Robot{
@Override
public void sayHello() {
System.out.println("second Robot");
}
}
3.同样的resources下新建META-INF文件夹,再新建dubbo文件夹,然后以接口的名称新建文件,

 

 

 3.文件中以key value设置,key可以自定义,value是接口的实现类

first=com.zy.dubbospi.FirstRobot
second=com.zy.dubbospi.SecondRobot
4.测试
//测试dubbospi
ExtensionLoader<Robot> extensionLoader = ExtensionLoader.getExtensionLoader(Robot.class);
Robot first = extensionLoader.getExtension("first");
first.sayHello();
Robot second = extensionLoader.getExtension("second");
second.sayHello();


posted @ 2020-09-05 17:22  z街角的风铃y  阅读(166)  评论(0)    收藏  举报