?
服务的实现是需要依赖契约接口的定义的,所以需要引入接口定义jar包。
?
新建Java工程spi-provider-add,引入spi-intface.jar。
新建com.fanyc.test.spi.provider.Add类,实现com.fanyc.test.spi.intface.Computer接口,
实现体中完成了的a和b的求和并返回。
?
代码如下所示:
class="java" name="code">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
添加文件名为:monospace; line-height: 20.0200004577637px;">com.fanyc.test.spi.intface.Computer 即契约接口名
添加文件内容为:com.fanyc.test.spi.provider.Add 即契约服务实现者类名
?
至此才算真正完成了服务实现者的所有内容。