我们如何使用RowSetProvider类创建RowSetFactory接口的实例?
RowSetFactory rsfactory=RowSetProvider.newFactory();
RowSetFactory接口的实现子类是什么,它在哪个包中可用?
答案 0 :(得分:2)
实现类取决于类路径上可用的服务实现(以及它们的找到顺序)。这在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)
。