品易云推流 关闭
文章详情页
文章 > java基础 > java SPI的使用场景

java SPI的使用场景

java SPI

头像

小妮浅浅

2021-07-19 09:51:563262浏览 · 0收藏 · 0评论

概念

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电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图