java中的SPI机制
2021-07-02 11:04
标签:接口实现 int 文件 3.4 bsp 需要 log 接口 ati SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 一个服务(Service)通常指的是已知的接口或者抽象类,服务提供方就是对这个接口或者抽象类的实现,然后按照SPI 标准存放到资源路径META-INF/services目录下,文件的命名为该服务接口的全限定名。 3.1pom 3.2接口 3.3两个实现类 3.4测试类 3.5META-INF/services/配置 在src/main/resources 下创建META-INF/services/目录,然后新建文件: java中的SPI机制 标签:接口实现 int 文件 3.4 bsp 需要 log 接口 ati 原文地址:https://www.cnblogs.com/psy-code/p/9631229.html1.定义
2.SPI机制的约定
3.示例
"1.0" encoding="UTF-8"?>
package com.zy;
public interface SpiServiceI {
void sayHello(String s);
}
package com.zy;
public class SpiServiceEnglishImpl implements SpiServiceI {
@Override
public void sayHello(String s) {
System.out.println(s+": hello world");
}
}
package com.zy;
public class SpiServiceChinaImpl implements SpiServiceI {
@Override
public void sayHello(String s) {
System.out.println(s+": 你好,世界");
}
}
package com.zy;
import org.junit.Test;
import java.util.Iterator;
import java.util.ServiceLoader;
public class SpiTest {
@Test
public void fn(){
// 通过ServiceLoader.load(Class class); 来动态加载Service的实现类
ServiceLoader
文件名为接口的全限定名,接口中的内容按行分开,每一行是实现类的全限定名
上一篇:python 文件与数据格式化
下一篇:Python:每日一题001