Java基础学习总结(196)—— JavaSpringDubbo 三种 SPI 机制详解

Posted 科技D人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础学习总结(196)—— JavaSpringDubbo 三种 SPI 机制详解相关的知识,希望对你有一定的参考价值。

前言

SPI 全称为 Service Provider Interface,是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。例如现在我们设计了一款全新的日志框架:super-logger。默认以 XML 文件作为我们这款日志的配置文件,并设计了一个配置文件解析的接口:

package com.zhy.com.demo.spi;

public interface SuperLoggerConfiguration 
    void configure(String configFile);

然后来一个默认的 XML 实现:

package com.zhy.com.demo.spi;

public class XMLConfiguration implements SuperLoggerConfiguration
    public void configure(String configFile)
        ......
    

那么我们在初始化,解析配置时,只需要调用这个 XMLConfiguration 来解析 XML 配置文件即可。

package com.zhy.com.demo.spi;

public class LoggerFactory 
    static 
        SuperLoggerConfiguration configuration = new XMLConfiguration();
        configur

以上是关于Java基础学习总结(196)—— JavaSpringDubbo 三种 SPI 机制详解的主要内容,如果未能解决你的问题,请参考以下文章

Java基础学习总结(196)—— JavaSpringDubbo 三种 SPI 机制详解

Java学习笔记总结

java基础学习总结

Java菜鸟学习总结Java基础知识(类)

Java基础学习总结(197)—— CompletableFuture 异常处理总结

Java基础学习总结(197)—— CompletableFuture 异常处理总结