Spring源码之ResourcePatternResolver ResourceLoader Resource InputStreamSource

ResourceLoader :加载资源的策略接口

Resource getResource(String location);返回指定资源位置的资源句柄。句柄应该始终是一个可重用的资源描述符。允许多个{@link Resource#getInputStream()}调用(这句不太明白。。。)。必须支持完全合格的URLe.g. "file:C:/test.dat"。必须支持类路径伪URL, e.g. "classpath:test.dat"。应该支持相对的文件路径, e.g. "WEB-INF/test.dat"。它将被具体的实现,典型的是提供一个ApplicationContext实现。注意资源句柄并不意味着现有资源。 你需要执行{@link Resource#exists}来确定它存在。

ClassLoader getClassLoader();返回此ResourceLoader 使用的类加载器。

 

ResourcePatternResolver :继承于ResourceLoader,用于将位置模式(例如,Ant样式路径模式)分解为资源对象的策略接口。当在上下文中运行时,可以检查传入的ResourceLoader(例如,通过{@link org.springframework.context.ApplicationContext}传入的.{@link org.springframework.context.ResourceLoaderAware})是否也实现了这个扩展接口。{PathMatchingResourcePatternResolver}是一个独立的实现可在应用程序上下文之外使用,也可被{ResourceArrayPropertyEditor}使用,用于填充资源数组bean属性。

Resource[] getResources(String locationPattern) throws IOException;

 

InputStreamSource :用于输入流的对象的简单接口,Resource的父类

InputStream getInputStream() throws IOException;

 

Resource :父类为InputStreamSource ,抽象于基础资源(例如:文件或类路径资源)的资源描述符接口。每个存在于物理形态的资源均可被打开InputStream,但是只有确定的资源才能返回URL或文件句柄。实际行为是特定于实现的。

boolean exists();确定该资源是否以物理形式存在。

boolean isReadable();指示是否可以通过该资源读取内容。

boolean isOpen();指示此资源是否表示具有打开流的句柄。

URL getURL() throws IOException;返回此资源的URL句柄。

URI getURI() throws IOException;返回此资源的URI 句柄。

File getFile() throws IOException;返回此资源的File 句柄。

long contentLength() throws IOException;指示此资源内容的长度。

long lastModified() throws IOException; 指示此资源最后修改的时间戳。

Resource createRelative(String relativePath) throws IOException;创建与此资源相对应的资源。

String getFilename();

String getDescription();

 

 

 

 

 

 

 

你可能感兴趣的:(springboot,spring)