SPI全称:Service Provider Interface-它是从Java6开始引入的,是一种基于ClassLoader来发现并加载服务的机制。
在SPI之前,一般是用Class.forName(全限定类名)去加载某个类,如果需要换某个驱动的话,需要修改代码文件,引入了SPI之后,Jar包中的META/services目录下面存在包含全限定名的文件,换不同的驱动只需要引入不同的Jar包,而不需要修改代码。
SPI全称:Service Provider Interface-它是从Java6开始引入的,是一种基于ClassLoader来发现并加载服务的机制。
在SPI之前,一般是用Class.forName(全限定类名)去加载某个类,如果需要换某个驱动的话,需要修改代码文件,引入了SPI之后,Jar包中的META/services目录下面存在包含全限定名的文件,换不同的驱动只需要引入不同的Jar包,而不需要修改代码。