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");
}
}

浙公网安备 33010602011771号