Spring Boot 3.x 系列【43】启动流程 | SPI机制

本文介绍了Spring Boot 3.x的启动流程,特别是SPI(Service Provider Interface)机制。通过示例详细阐述了JDK SPI的工作原理,包括定义接口、实现接口、创建元数据文件和测试过程。同时,探讨了Spring Boot如何利用SPI实现自动配置,重点解析了SpringFactoriesLoader类的角色。最后,分析了Spring Boot自动配置的演变,从基于配置文件到更易于维护的当前方式。

有道无术,术尚可求,有术无道,止于术。

本系列Spring Boot版本3.1.0

源码地址:https://gitee.com/pearl-organization/study-spring-boot3

1. 概述

SPI全称为Service Provider Interface,是一种服务发现机制,像SpringDubboJDBCNacos等等都用到了SPI

在一个软件中往往有很多模块,模块之间进行交互时,一般都是面向接口编程。如果直接调用实现类,耦合度太高,一旦想替换另一种实现,就需要修改代码。而SPI提供了一种为接口寻找服务实现的机制,我们直接调用接口进行编码,具体实现由SPI去动态加载。

比如JDBC中,驱动类由各个数据库厂商去实现,程序在加载时,使用SPI动态加载引入的驱动实现。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨 禹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值