1.ServiceLoader定义
ServiceLoader是Java API中服务提供者的加载设施,这里的服务是熟知的接口和类(通常是抽象类)的集合,服务提供者是服务的特定实现,提供者中的类实现接口,并子类化在服务本身中定义的子类。
2.ServiceLoader作用
在工程内或者跨工程通信,怎么说呢?直接看例子:
Test01、Test02服务都实现了IMyServiceLoader接口,通过ServiceLoader我们不需要实例化服务就能调用其实现方法
public interface IMyServiceLoader {
String getString();
}
public class Test01 implements IMyServiceLoader{
@Override
public String getString() {
// TODO Auto-generated method stub
return A.msg;
}
}
public class Test02 implements IMyServiceLoader{
@Override
public String getString() {
// TODO Auto-generated method stub
return "test02";
}
}
public static void main(String[] args){
ServiceLoader<IMyServiceLoader> services = ServiceLoader.load(IMyServiceLoader.class);
fo