首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Service Provider Iterface (SPI) 跟 sun.misc.Service

2013-08-09 
Service Provider Iterface (SPI) 和 sun.misc.Service温故而知新,一年前写过一篇此内容的文章,貌似已经遗

Service Provider Iterface (SPI) 和 sun.misc.Service
温故而知新,一年前写过一篇此内容的文章,貌似已经遗失。


一个服务(service)通常指的是已知的接口或者抽象类,服务提供方就是对这个接口或者抽象类的实现,然后按spi标准存放到资源路径META-INF/services目录下,文件的命名为该服务接口的全限定名。
如果一个接口com.github.yingzhuo.api.SomeService其实现类为com.github.yingzhuo.spi.SomeServiceProvider,
那此时需要在META-INF/services中放置文件com.github.yingzhuo.api.SomeService,其中的内容就为该实现类的全限定名com.github.yingzhuo.spi.SomeServiceProvider,
有多个服务实现,每一行写一个服务实现,#后面的内容为注释,并且该文件只能够是以UTF-8编码。

接口

package com.github.yingzhuo.spi;import com.github.yingzhuo.api.SomeService;public class SomeServiceProvider implements SomeService {public String getMessage() {return getClass().getName();}}

热点排行