这期内容当中小编将会给大家带来有关java中SPI的使用场景有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Java的特点有哪些
Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
1、概念
SPI是服务提供界面,JDK内置的服务提供发现机制,是Java提供的第三方实现或扩展的API,可用于启用框架扩展和更换组件。
2、Java SPI的具体约定
在classpath下面时,在classpath下的META-INF/services/目录中同时创建以服务界面命名的文件。这个文件是实现这个服务界面的具体实现类别。
当外部程序组装该模块时,您可以通过jar包META-INF/services/中的配置文件找到具体的实现类别名称,并加载实例,完成模块注入。
3、使用场景
适用:调用者根据实际使用需要启用、扩展或更换框架的实现策略。
常见的例子:
数据库驱动加载接口实现类加载。
JDBC负载驱动不同类型的数据库。
记录日志接口实现类载入。
SLF4J载入不同供应商的日志实现类别。
Spring
SSpring中,SPI被广泛使用,例如:Servlet3.0规范实现ServletContainerInitializer,自动类型转换TypeConversionSPI(ConverterSPI,FormatterSPI)等等。
上述就是小编为大家分享的java中SPI的使用场景有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。