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...