之前写 Java注解之如何利用RetentionPolicy.SOURCE生存周期时了解到Java的SPI机制,发现挺神奇的,因此就搜了下相关的知识。这一篇Java SPI思想梳理基本上把这个讲透了,ServiceLoader的文档也提供了更多详尽的知识,包括Module里如何使用SPI都有了。
Java SPI思想梳理 里面有段讲得特别好,正常来说,我们写Java代码,都是调用者——》接口——》接口的实现,如果接口和接口的实现是在一起的,这种一般称之为API。而如果调用者和接口放在一起,这种就是SPI了。
SPI运用范围挺广,以前我就不太了解插件机制是怎么做的,发现SPI就可以用来做插件,还是挺方便的。
ServiceLoader的代码并不算复杂,不过我目前还欠缺功力看懂了。Java的知识实在是庞大,之前学习走偏了,导致一直没有找对方向,希望日拱一卒,能够成为个合格的Java开发者吧
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。