Java1.6开始提供了ServiceLoader类来支持SPI。
1. 写好接口:
public interface Service1 {
public void sayHello();
}
2. 两个实现类:
public class ServiceImpl implements Service1 {
public void sayHello(){
System.out.println("hello");
}
}
public class ServiceImpl2 implements Service1{
@Override
public void sayHello() {
System.out.println("hello, service 1");
}
}
3. 打到jar包中,目录结构如下:
--META-INF
--services
--Service1
--Service1.class
--ServiceImpl.class
--ServiceImpl2.class
Service1是文本文件,内容是所有实现类的类名:
ServiceImpl
ServiceImpl2
4. 把打好的jar包放到classpath中,写程序调用此SPI。
import java.util.ServiceLoader;
public class ServiceTest {
public static void main(String[] args) {
ServiceLoader<Service1> serviceLoader = ServiceLoader.load(Service1.class);
for(Service1 serv : serviceLoader){
serv.sayHello();
}
}
}
结果:
hello
hello, service 1
分享到:
相关推荐
NULL 博文链接:https://pengjianf-ah.iteye.com/blog/2432059
这个资源是我的博客《java SPI机制学习笔记》中的提供服务的jar包
压缩包spi下为代码,解压后用intellij IDEA打开spi下的parent工程即可。
主要介绍了Java SPI的简单小实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
主要介绍了Java SPI机制原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了JAVA SPI特性及简单应用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Java SPI 机制详解 Java 语法糖详解 集合 知识点/面试题总结 : Java 集合常见知识点&面试题总结(上) (必看 ) Java 集合常见知识点&面试题总结(下) (必看 ) Java 容器使用注意事项总结 源码分析 : ArrayList 源码...
Java SPI 机制详解 Java 语法糖详解 集合 知识点/面试题总结: Java 集合常见知识点&面试题总结(上) (必看 ) Java 集合常见知识点&面试题总结(下) (必看 ) Java 容器使用注意事项总结 源码分析: ArrayList 源码+...
主要介绍了深入学习Java中的SPI机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Java的SPI技术的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
框架开发学习 此仓库给出了在框架开发中经常使用的不同Java概念和编程技术的示例。 例如,当我们想从头开始创建RPC框架时,我们需要了解Java动态代理和序列化...Java SPI java-spi JDBC 完毕 Java零拷贝 Java零复制
主要介绍了详解java实践SPI机制及浅析源码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java SPI 机制与 Dubbo SPI 机制的一些说明与测试代码 方便SPI的学习 该项目来自于享学课堂学习资料 请勿随意商业使用
开箱即用,无需任何配置,继承基类 Mapper 即可获得大量...轻松扩展,通过 Java SPI 轻松扩展。 系统要求 MyBatis Mapper 要求 MyBatis 最低版本为 3.5.1,推荐使用最新版本 。 和 MyBatis 框架一样,最低需要 Java 8
matlab计算SPI的代码代码段硬件 ...只是学习Java的练习代码。 胎儿心率:与MATLAB脚本一起使用的数据,可通过孕妇腹部ECG预测胎儿心率。 每个数据集的准确度为88-93%。 NDA下的代码。 仅附有样本地块。
学习http的get与post方法的学习,可以参考
SPI 机制和原理 并发编程专题 Executors线程池 线程池ThreadPoolExecutor 并发编程 Lock 锁 Lock 可重入锁Reetrantlock 可重入读写锁ReetrantReadWriteLock Condition ReadWriteLock LockSupport 并发类编程工具 ...
第二阶段深入Dubbo RPC、SPI等核心功能点,列举多个示例加以应用说明,期望能够帮助学者快速提升Dobbo和Zookeeper的技术能力。 2、适应人群 有一定的Java Web基础。 3、课程亮点 系统的学习Dubbo技术栈,掌握Dubbo...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...