java spi機制(動態介面實現)

2021-08-20 10:51:13 字數 342 閱讀 2405

spi 全稱為 (service provider inte***ce) ,是jdk內建的一種服務提供發現機制。 目前有不少框架用它來做服務的擴充套件發現, 簡單來說,它就是一種動態替換發現的機制, 舉個例子來說, 有個介面,想執行時動態的給它新增實現,你只需要新增乙個實現,

而後,把新加的實現,描述給jdk知道就行啦(通過改乙個文字檔案即可)公司內部,目前dubbo框架就基於spi機制提供擴充套件功能,再比如tomcat,動態實現了servletcontext介面。

簡單示例

通過乙個簡單例子來說明spi是如何使用的。 首先通過一張圖來看看,用spi需要遵循哪些規範,因為spi畢竟是jdk的一種標準。

JAVA SPI機制 實現功能的熱插拔

開發中經常遇到的乙個需求是,處理不同種類的資料,但是完成的功能是相似的,功能隨著傳入型別的不同而變化 1 定義介面 定義乙個介面,編寫不同的實現類 1 使用場景 完成功能相同,引數也類似,只是內部的實現邏輯不同,可以編寫介面實現的配置類,使用時動態獲取實現類 2 缺點 資料的型別必須確定 3 舉例 ...

鎖機制 動態通用鎖

report.data lc varkey type rstable varkey.鎖表 concatenate sy mandt g zfyno into lc varkey.call function enqueue e table exporting mode rstable e 鎖型別 ta...

Java通過反射機制動態設定物件屬性值

methodname getreflection description 解析respxml 在通過反射設定物件屬性值 user liqijing date 2015 7 19下午12 42 55 param clzzname param respxml return throws classnot...