前面的20节日志,已经总结了spring在ioc容器的一些内容,包括bean的依赖查找和依赖注入,也包括xml/properties/等资源的加载。总体上已经把bean的元信息解析内容概括了一下。接下来让我们认识一下spring中另外一个很重要的概念-resource资源
spring中设计资源也是为了把不同的物理对象抽象成统一的概念模型,spring中对于classpath路径上的文件,或者是网络上的文件,只要是认为要读取到spring中的文件都当作resource处理。所以resource有个基础的功能就是获取输入流InputStream
先观察Resource的定义
/**
* Interface for a resource descriptor that abstracts from the actual
* type of underlying resource, such as a file or class path resource.
* @author Juergen Hoeller
* @since 28.12.2003
*/
public interface Resource extends InputStreamSource {
/**
* 是否存在
*/
boolean exists();
/**
* 是否可读
*/
default boolean isReadable() {
return true;
}
/**
* 是否打开
*/
default boolean isOpen() {
return false;
}
/**
* 是否是文件
*/
default boolean isFile() {
return false;
}
/**
* Return a URL handle for this resource.
*/
URL getURL() throws IOException;
/**
* Return a U