在 ExtensionLoader 类的loadFile方法中有下图的这段代码:
类如现在这个ExtensionLoader中的type 是Protocol.class,也就是SPI接口的实现类中XxxProtocol类中有这样的构造函数 public XxxProtocol ( Protocol object) ,这个构造函数显然说明XxxProtocol有包装或代理这个object的意思。所以当发现了这样特点的实现类后,就会把它缓存到wrappers这个变量中,最终缓存在ExtensionLoader的实例属性 cachedWrapperClasses中。
时间: 2024-10-01 04:32:23