软件编程
位置:首页>> 软件编程>> java编程>> JAVA SPI特性及简单应用代码实例

JAVA SPI特性及简单应用代码实例

作者:玄同太子  发布时间:2021-11-11 14:54:54 

标签:JAVA,SPI,特性,应用

最近在研究dubbo时,发现了JAVA的SPI特性。SPI的全名为Service Provider Interface,是JDK内置的一种服务发现机制。

具体实现:

1、定义一个接口


public interface IShape {
 /**
  * 渲染
  */
 void render();
}

2、添加几种实现


public class CircularShape implements IShape {

@Override
 public void render() {
   System.out.println(this.getClass().getName() + "正在绘制圆形");
 }
}

public class SquareShape implements IShape {

@Override
 public void render() {
   System.out.println(this.getClass().getName() + "正在绘制正方形");
 }
}

3、在META-INF/services/com.zhi.demo.IShape文件添加信息

com.zhi.demo.impl.SquareShape
com.zhi.demo.impl.CircularShape

4、测试


public class SpiTest {
 public static void main(String[] args) {
   ServiceLoader<IShape> loaders = ServiceLoader.load(IShape.class);
   for (IShape shape : loaders) {
     shape.render();
   }
 }
}

5、运行结果

com.zhi.demo.impl.SquareShape正在绘制正方形
com.zhi.demo.impl.CircularShape正在绘制圆形

代码结构图如下

JAVA SPI特性及简单应用代码实例

6、实际应用,sum为各大数据厂商提供了java.sql.Driver接口,每个厂商提供自己的实现。

JAVA SPI特性及简单应用代码实例

JAVA SPI特性及简单应用代码实例

来源:https://www.cnblogs.com/zhi-leaf/p/10467894.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com