浅析ServiceLoader
1.SPI的概念 了解ServiceLoader,需要先了解 SPI(Service Provider Interface) SPI的简单来说就是在程序设计时将一个功能服务的接口与实现分离,在程序运行时通过JVM机制自动找到服务接口的实现类并创建,以达到解耦的目的,提高程序的可拓展性; 比如JDBC 2.ServiceLoader ServiceLoader就是 Java平台提供的一个简单的 Service Provder Framework。使用ServiceLoader有简单的以下几个步骤 创建服务接口 在服务接口的实现模块中,创建一个实现类实现对应的服务接口,并通过在项目的resource/META-INF/services文件夹下面创建一个对应该服务接口全限定名的文本文件,在该文本文件写入该服务接口实现类的全限定名,以此达到一个注册服务的作用(项目打包后在jar文件里也得存在该文件) 服务调用方(需求方)通过ServiceLoader类的load方法加载服务并得到服务的实现类 2.1 一个简单ServiceLoader场景实例 这里以一个简单虚拟支付场景为例。有一个业务模块目前...




