用于加载资源的策略接口(策略包括classpath或者file system等类型)。Spring中的的所有应用上下文都应该拥有此功能和其拓展功能-ResourcePatternResolver。
DefaultResourceLoader是此接口的一个实现,通常在ApplicationContext以外的类中使用,如ResourceEditor
public interface ResourceLoader {
/** 如果要加载根目录下的资源,则使用classpath开头 */
String CLASSPATH_URL_PREFIX = ResourceUtils.CLASSPATH_URL_PREFIX;
/**
* 返回一个能解析指定目录Resource的对象
* 该对象必须是可重用的,例如必须支持Resource的getInputStream方法多次调用而保持不变
* 必须支持全限定的URLs,例如"file:C:/test.dat"
* 必须支持全限定的伪URLs,例如"classpath:test.dat"
* 必须支持相对文件路径,如"WEB-INF/test.dat"
* 需要注意的是,参数中指定了路径的Resource不一定存在,在使用资源之前
* 必须先调用Resource的exists方法检查资源是否存在
*/
Resource getResource(String location);
/**
* 返回此类使用的ClassLoader
* 如果有需要使用ClassLoader的代码,可以直接调用此方法来得到实例,而不需要
* 通过Thread上下文获取ClassLoader
*/
ClassLoader getClassLoader();
}