【说站】java SPI的使用场景
2024-11-12
7
java SPI的使用场景
概念
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电脑。
更新于:2天前赞一波!
相关文章
- 【说站】java多线程应用场景
- 【说站】java多线程原理
- 【说站】java一次生成多个随机数出来
- 【说站】java如何创建对象
- 【说站】java产生随机整数指定范围
- 【说站】java多线程有几种实现方法
- 【说站】java 反射机制作用
- 【说站】java中Lombok有哪些注解
- 【说站】java随机数生成原理
- 【说站】java动态规划是什么
- 【说站】java反射获取对象的方法
- 【说站】java通配符有哪些
- 【说站】java泛型中类型擦除的转换
- 【说站】java重复注解如何实现
- 【说站】java SPI如何定义接口
- 【说站】java中volatile的应用场景
- 【说站】java中HttpClient的错误处理
- 【说站】java泛型是什么意思?
- 【说站】java中有哪些时间API?
- 【说站】java Stream如何操作元素
文章评论
评论问答