SPI机制的一次具体使用
来源:互联网 发布:时间序列数据集 编辑:程序博客网 时间:2024/06/17 07:29
对spi机制的使用在一次对schemacrawler(一个数据库元数据爬虫框架)的使用中提升了很多。
基础了解:http://blog.csdn.net/qq_33793432/article/details/73112302
具体的使用:
我使用spi机制来调用不同数据库实现的分页方法。通过一个数据库类型来查找对应的实现类。
对外的接口或抽象类A
你可以在A中定义实现的大体框架。
可以看到这个对外的抽象类接口中要求实现类必须提供的东西,其中对我最主要的还是那个接口IProduceSql , 它定义了产生sql语句的方法,要求实现类必须实现。扫描实现类
在自己的程序中还要对所有的实现类进行扫描注册
还是通过使用ServiceLoader 来扫描实现类。这里我使用一个集合装入我所有的实现。
我的使用场景是,所有的实现类都提供了一个类型格式,我把类型格式为key,对应的实现类为value放入一个map中。
在具体的使用时,根据url格式的不同就可以调用不同的实现类。如何利用spi机制实现暴露的接口或抽象类
举例我的mysql实现,这是另外一个项目:
我继承了对外的抽象类,提供了主要的MysqlProduceSqlImpl实现类。那么如何让它知道我实现了呢。
在根目录下新建 META-INF/services目录
新建对外暴露的类A全路径在里面写入自己实现类的全路径
在主程序中引用这个mysql子项目。ServiceLoader就可以扫描到。
阅读全文
0 0
- SPI机制的一次具体使用
- localstorage, cookie, session一次具体业务的使用
- Java的SPI机制
- Java的SPI机制
- JDK的SPI机制
- Java的SPI机制
- Java 的SPI机制
- 一次渗透的具体过程
- 一次渗透的具体过程
- Java的SPI机制介绍
- Java的Spi机制心得
- Java的Spi机制研究
- Java的Spi机制心得
- Java的Spi机制研究
- Java的Spi机制研究
- SPI DMA 的使用
- LPC2478的SPI使用
- DSP28335 SPI的使用
- 2017秋招-技术岗-腾讯-CDG-提前批(2轮技术电面+1轮HR电面)
- VC显示jpg图像
- git 如何获取指定 tag 代码
- VMware Fusion配置Nat静态IP
- Java注解详解
- SPI机制的一次具体使用
- 挑战程序竞赛系列(33):POJ 2991 Crane
- [USACO3.3]亚瑟王的宫殿 Camelot
- Android apk 加固
- 线程阻塞怎么结束
- C++ 快排
- java的path与classpath
- Mysql笔记
- Pandas学习总结(上)