本文将实现依据契约接口完成加法服务的实现。
服务的实现是需要依赖契约接口的定义的,所以需要引入接口定义jar包。
新建Java工程spi-provider-add,引入spi-intface.jar。
新建com.fanyc.test.spi.provider.Add类,实现com.fanyc.test.spi.intface.Computer接口,
实现体中完成了的a和b的求和并返回。
代码如下所示:
package com.fanyc.test.spi.provider;
import com.fanyc.test.spi.intface.Computer;
/**
* 服务实现者:加法运算
*
* @author Fanyc
*
*/
public class Add implements Computer {
/**
* {@inheritDoc}
*/
@Override
public int compute(int a, int b) {
return a+b;
}
}
至此加法服务的接口实现就完成了,还需要一个重要的步骤,不然java SPI是不会发现该服务的。
在工程根目录下新建目录:META-INF/services
添加文件名为:com.fanyc.test.spi.intface.Computer 即契约接口名
添加文件内容为:com.fanyc.test.spi.provider.Add 即契约服务实现者类名
至此才算真正完成了服务实现者的所有内容。