转载:https://www.jianshu.com/p/7601ba434ff4
想必大家多多少少听过spi,具体的解释我就不多说了。但是它具体是怎么实现的呢?它的原理是什么呢?下面我就围绕这两个问题来解释:
实现: 其实具体的实现类就是java.util.ServiceLoader这个类。
要想了解一个机制的原理,首先得知道它是怎么运行的,需要什么配置,才能运行起来。然后再分解来了解实现。对于技术实现也是一样,先看这个类是怎么实现的,先让它跑起来,看到效果。然后再讲原理。
按照使用说明文档,应该分下面几个步骤来使用:
- 创建一个接口文件
- 在resources资源目录下创建META-INF/services文件夹
- 在services文件夹中创建文件,以接口全名命名
- 创建接口实现类
我们想测试一下,一般是在这个工程中建立一个测试类来测试。来看下代码片段:
接口类
public interface IMyServiceLoader { String sayHello(); String getName(); }