Java中的SPI機制有哪些作用?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

Java的SPI機制實例詳解
SPI的全名為Service Provider Interface.普通開發(fā)人員可能不熟悉,因為這個是針對廠商或者插件的。在java.util.ServiceLoader的文檔里有比較詳細的介紹。究其思想,其實是和"Callback"差不多。“Callback”的思想是在我們調(diào)用API的時候,我們可以自己寫一段邏輯代碼,傳入到API里面,API內(nèi)部在合適的時候會調(diào)用它,從而實現(xiàn)某種程度的“定制”。
典型的是Collections.sort(List<T> list,Comparator<? super T> c)這個方法,它的第二個參數(shù)是一個實現(xiàn)Comparator接口的實例。我們可以根據(jù)自己的排序規(guī)則寫一個類,實現(xiàn)此接口,傳入此方法,那么這個方法就會根據(jù)我們的規(guī)則對list進行排序。
把這個思想擴展開來,我們用SPI來重新實現(xiàn)上面的例子。客戶把自己的排序規(guī)則寫成一個類,并且打包成Jar文件,這個Jar文件里面必須有META-INF目錄,其下又有services目錄,其下有一個文本文件,文件名即為接口的全名:
java.util.Comparator。 --META-INF --services --java.util.Comparator
網(wǎng)頁題目:Java中的SPI機制有哪些作用-創(chuàng)新互聯(lián)
地址分享:http://chinadenli.net/article48/pcdep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、企業(yè)建站、定制網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容