概念
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有哪些集合类java中的集合主要分为四类:
1、list列表:有序的,可重复的;
2、queue队列:有序,可重复的;
3、set集合:不可重复;
4、map映射:无序,键唯一,值不唯一。
以上就是java的spi是什么的详细内容。
