Java中的SPI機(jī)制有哪些作用-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)普陀,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

Java的SPI機(jī)制實(shí)例詳解

SPI的全名為Service Provider Interface.普通開發(fā)人員可能不熟悉,因?yàn)檫@個(gè)是針對(duì)廠商或者插件的。在java.util.ServiceLoader的文檔里有比較詳細(xì)的介紹。究其思想,其實(shí)是和"Callback"差不多。“Callback”的思想是在我們調(diào)用API的時(shí)候,我們可以自己寫一段邏輯代碼,傳入到API里面,API內(nèi)部在合適的時(shí)候會(huì)調(diào)用它,從而實(shí)現(xiàn)某種程度的“定制”。

    典型的是Collections.sort(List<T> list,Comparator<&#63; super T> c)這個(gè)方法,它的第二個(gè)參數(shù)是一個(gè)實(shí)現(xiàn)Comparator接口的實(shí)例。我們可以根據(jù)自己的排序規(guī)則寫一個(gè)類,實(shí)現(xiàn)此接口,傳入此方法,那么這個(gè)方法就會(huì)根據(jù)我們的規(guī)則對(duì)list進(jìn)行排序。

    把這個(gè)思想擴(kuò)展開來,我們用SPI來重新實(shí)現(xiàn)上面的例子??蛻舭炎约旱呐判蛞?guī)則寫成一個(gè)類,并且打包成Jar文件,這個(gè)Jar文件里面必須有META-INF目錄,其下又有services目錄,其下有一個(gè)文本文件,文件名即為接口的全名:

java.util.Comparator。
--META-INF
 --services
  --java.util.Comparator

網(wǎng)頁(yè)題目:Java中的SPI機(jī)制有哪些作用-創(chuàng)新互聯(lián)
地址分享:http://muchs.cn/article48/pcdep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)建站、定制網(wǎng)站動(dòng)態(tài)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管