java spi

1.新建一个接口及其两个实现类

package com.zy.javaspi;

public interface UploadCDN {
void upload(String yrl);
}
package com.zy.javaspi;

public class QiyiCDN implements UploadCDN {
@Override
public void upload(String yrl) {
System.out.println("上传到爱奇艺");
}
}

package com.zy.javaspi;

public class YoukuCDN implements UploadCDN {
@Override
public void upload(String yrl) {
System.out.println("上传到优酷");
}
}

2.在resources下新建META-INF包,然后新建services文件夹,然后新建以接口为名称的文件,里面写上实现类的全限定名称

 

文件内容:

com.zy.javaspi.QiyiCDN
com.zy.javaspi.YoukuCDN

3.测试
public class Test {
public static void main(String[] args) {
//测试javaspi
ServiceLoader<UploadCDN> load = ServiceLoader.load(UploadCDN.class);
for (UploadCDN uploadCDN:load){
uploadCDN.upload("filepath");
}
}

 

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