您当前的位置: 首页 >  Java

科技D人生

暂无认证

  • 0浏览

    0关注

    1550博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

科技D人生 发布时间:2022-08-29 14:54:53 ,浏览量:0

前言

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
关注
打赏
1662604032
查看更多评论
立即登录/注册

微信扫码登录

0.0698s