我正在寻找一种创建自定义 ResourceLoader 的方法,它将使用从 hbase 表中读取的属性。我发现我可以创建自己的 ApplicationContext,覆盖 getResource 并使用自己的 ResourceLoader。
@Override
public Resource getResource(String location) {
if (location.startsWith(HbaseResource.HBASE_PREFIX) ) {
ResourceLoader loader = (ResourceLoader)getBean(HbaseResourceLoader.class);
return loader.getResource(location);
} else{
return super.getResource(location);
}
}
我正在寻找一种方法来获得相同的结果,只使用 ClasspathXmlApplicationContext 而不是创建我自己的 contxt 类。阅读ResourceLoaderAware我看到这一行:
作为 ResourcePatternResolver 依赖项的替代方案,请考虑公开类型为 Resource 数组的 bean 属性,这些属性通过模式字符串填充,并由 bean 工厂自动进行类型转换。
这对我有什么帮助吗?我是否错过了注册自定义 ResourceLoader 的另一种方法?