javaSPI的使用场景

美女程序员鼓励师

概念

1、SPI是服务提供界面,JDK内置的服务提供发现机制,是Java提供的第三方实现或扩展的API,可用于启用框架扩展和更换组件。

Java SPI的具体约定

在classpath下面时,在classpath下的META-INF/services/目录中同时创建以服务界面命名的文件。这个文件是实现这个服务界面的具体实现类别。

当外部程序组装该模块时,您可以通过jar包META-INF/services/中的配置文件找到具体的实现类别名称,并加载实例,完成模块注入。

2、调用者根据实际使用需要启用、扩展或更换框架的实现策略。

常见的例子:

数据库驱动加载接口实现类加载。

JDBC负载驱动不同类型的数据库。

记录日志接口实现类载入。

SLF4J载入不同供应商的日志实现类别。

Spring

SSpring中,SPI被广泛使用,例如:Servlet3.0规范实现ServletContainerInitializer,自动类型转换TypeConversionSPI(ConverterSPI,FormatterSPI)等等。

以上就是java SPI的使用场景,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

以上是 javaSPI的使用场景 的全部内容, 来源链接: utcz.com/z/544349.html

回到顶部