服务供给接口

服务供给接口【服务供给接口】英文名为Service Provider Interface , 简称为SPI , 是Java的一个内置标準 , 允许不同的开发者去实现某个特定的服务 。
基本介绍中文名:服务供给接口
外文名:Service Provider Interface
简称:SPI
含义:提供某种特定服务的接口
定义英文名为Service Provider Interface , 简称为SPI 。服务提供接口即用于提供某种特定服务的接口 。性质SPI是Java 1.5新添加的一个内置标準 , 允许不同的开发者去实现某个特定的服务 。一个Service就是一套着名的接口或抽象类 , 而Service Provider是这个Service的一个特定实现类 。套用在Java中Service Provider按Service接口分类 , 同一个Service只能有一个实现类被注册 。因为在实际中 , Service都是单例的 。如果同时注册了多个 , 后面的Service Provider将覆盖前面注册的Service Provider 。声明一个service provider需要在JAR包的META-INF目录下创建一个services子目录 , 并且为每一个service provider提供一个以Service全名命名的档案 。假如JAR包有一个类com.mycompany.mypkg.MyServiceImpl实现了javax.someapi.SomeService接口 , JAR包中应该包含一个档案:META-INF/services/javax.someapi.SomeService这个档案中包含一行:com.mycompany.mypkg.MyService