我們如何能夠使用RowSetProvider類創建RowSetFactory接口的實例?RowSetFactory實現子類
RowSetFactory rsfactory=RowSetProvider.newFactory();
什麼是RowSetFactory接口的實現子類以及它在哪個包中可用?
我們如何能夠使用RowSetProvider類創建RowSetFactory接口的實例?RowSetFactory實現子類
RowSetFactory rsfactory=RowSetProvider.newFactory();
什麼是RowSetFactory接口的實現子類以及它在哪個包中可用?
實現類取決於類路徑上可用的服務實現(以及它們的順序)。這在RowSetProvider.newFactory()
中有記錄:
創建一個
RowSetFactory
實現的新實例。此方法使用以下查找以確定在RowSetFactory實現類加載:
系統屬性
javax.sql.rowset.RowSetFactory
。例如:-Djavax.sql.rowset.RowSetFactory=com.sun.rowset.RowSetFactoryImpl
該
ServiceLoader
API。ServiceLoader
API將在運行時可用的jar文件中查找文件META-INF/services/javax.sql.rowset.RowSetFactory
中的類名。例如,有在RowSetFactory
實施com.sun.rowset.RowSetFactoryImpl
加載,在META-INF/services/javax.sql.rowset.RowSetFactory
的條目將是:com.sun.rowset.RowSetFactoryImpl
平臺默認的
RowSetFactory
實例。
如果在類路徑多個實現並要指定要加載的執行,那麼你可以使用newFactory(String factoryClassName, ClassLoader cl)
。
感謝您的回答。這就是我需要的。 – jcool
你爲什麼在意?這只是JDK中工廠模式的另一個實例。有數百個。 NOYB的實現類是什麼。 – EJP
我不知道如果沒有關心回合我就無法繼續前進。 – jcool
這實際上並不能回答我的問題。你爲什麼認爲喲不能繼續前進?實現類的名稱不會對您的編碼產生任何影響。至少它不應該,如果這樣做,你做錯了。 – EJP