转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/71515678
1. 简介
SPI全称是Service Provider Interface,服务提供方接口,服务通常是指一个接口或者一个抽象类,服务提供方是对这个接口或者抽象类的具体实现,由第三方来实现接口提供具体的服务。SPI提供了一种动态的对应用程序进行扩展的机制,通常用作框架服务的拓展或者可替换的服务组件,但是在Android中并没有广泛的使用。
SPI运用场景主要有:
- Java Database Connectivity
- Java Cryptography Extension
- Java Naming and Directory Interface
- Java API for XML Processing
- Java Business Integration
- Java Sound
- Java Image I/O
- Java File Systems
官方介绍文档:https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html
2. SPI机制
- 在resources/META-INF/services/目录中创建以
服务全限定名
命名的文件,该文件内容为服务的具体实现类的全限定名
,文件