java spi机制

lglovejava 2018-06-22

在spring出现之前,需要使用IOC的机制来动态提供实现类,这时jdk自身提供了一种轻量级的实现。具体方式:

1、需要方定义接口,并且用 java.util.ServiceLoader加载具体的实现(通过无参数构造函数实现对象创建)

2、提供者在jar包的META-INF/services/目录里创建前面接口的全名文件

3、在文本文件里写上具体实现类的全名

4、具体的例子,数据库驱动spi META-INF/services/java.sql.Driver ,实现者 /mysql-connector-java/5.1.29/mysql-connector-java-5.1.29.jar

相关推荐