Java ServiceLoader使用和源碼分析

1.項目中的使用

    ServiceLoader是Java中SPI(Service Provider Interface)的一種實現;主要用於提供給第三方實現或者擴展。

 1.1 使用接口的實現類一般的方式;

      及使用關鍵詞new 一個實現類賦值給接口引用。

HelloService helloService = new HelloServiceImpl();

如果需要動態的獲取一個接口的實現類,在項目比較大的時候,去進行全局掃描class來獲取最終的實現這樣代價太大。

1.2 ServiceLoader的加載方式;

     1.在項目的的src/main/resources目錄下創建META-INF/services。

       

      2.在該目錄下創建接口全路徑名稱的文件,文件內容就是實現接口的全路徑名稱。

       

       

     3.編寫獲取實現

     

2.ServiceLoader加載源碼分析

   1.ServiceLoader加載資源文件位置

  

  2.接口的初始化

  

  

  

  

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章