关于SPI

这里有个
精准的定义
http://en.wikipedia.org/wiki/Service_provider_interface

spi发现机制

   1. jdk有一套以java.util.ServiceLoader为核心的机制。 ServiceLoader会从类路径查找做了相关META-INF声明的jar包,所以上层不必耦合SPI具体实现的类。

   2. 其实用spring IoC搞更直观

  

spi跟api在语言层面的联系:有两种模式

   1. spi即api,具体的类实现指定的接口。比如Tomcat的Request类实现HttpServletRequest

   2. spi本身采用interface/implementation机制,接口中提供的方法直接贴近底层或者只用作工厂,不为用户所知;然后,spi接口作为api的成员变量,api在有需要时调用spi完成工作

  

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.