真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中的SPI原理淺談

  在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,模塊之間交互采用接口編程,通常情況下調(diào)用方不需要知道被調(diào)用方的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),因?yàn)橐坏┥婕暗搅司唧w實(shí)現(xiàn),如果需要換一種實(shí)現(xiàn)就需要修改代碼,這違反了程序設(shè)計(jì)的"開閉原則"。所以我們一般有兩種選擇:一種是使用API(Application Programming Interface),另一種是SPI(Service Provider Interface),API通常被應(yīng)用程序開發(fā)人員使用,而SPI通常被框架擴(kuò)展人員使用。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供北海網(wǎng)站建設(shè)、北海做網(wǎng)站、北海網(wǎng)站設(shè)計(jì)、北海網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、北海企業(yè)網(wǎng)站模板建站服務(wù),10多年北海做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

  在進(jìn)入下面學(xué)習(xí)之前,我們先來再加深一下API和SPI這兩個(gè)的印象:

  API:由實(shí)現(xiàn)方制定接口標(biāo)準(zhǔn)并完成對接口的不同實(shí)現(xiàn),這種模式服務(wù)接口從概念上更接近于實(shí)現(xiàn)方;

  SPI:由調(diào)用方制定接口標(biāo)準(zhǔn),實(shí)現(xiàn)方來針對接口提供不同的實(shí)現(xiàn);從前半句話我們來看,SPI其實(shí)就是"為接口查找實(shí)現(xiàn)"的一種服務(wù)發(fā)現(xiàn)機(jī)制;這種模式,服務(wù)接口組織上位于調(diào)用方所在的包中,實(shí)現(xiàn)位于獨(dú)立的包中。

  API和SPI簡略圖示:

  

  看完上面的簡單圖示,相信大家對API和SPI的區(qū)別有了一個(gè)大致的了解,現(xiàn)在我們使用SPI機(jī)制來實(shí)現(xiàn)我們一個(gè)簡單的日志框架:

  第一步,創(chuàng)建一個(gè)maven項(xiàng)目命名為spi-interface,定義一個(gè)SPI對外服務(wù)接口,用來后續(xù)提供給調(diào)用者使用;

package cn.com.wwh;
/**
 * 
 * @FileName Logger.java
 *@version:1.0
 * @Description: 服務(wù)提供者接口
 *@author: wwh
 * @date: 2022年9月19日 上午10:31:53
*/
public interface Logger {
    
/**
     * 
     * @Description:(功能描述)
     *@param msg
*/
    public void info(String msg);
    
/**
     * 
     * @Description:(功能描述)
     *@param msg
*/
    public void debug(String msg);
}

網(wǎng)站標(biāo)題:Java中的SPI原理淺談
文章轉(zhuǎn)載:http://weahome.cn/article/dscgigd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部