码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Resource源码分析

时间:2015-05-09 21:45:27      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

  • 基本信息   
 Spring为了方便程序调用不同类型的资源而定义的接口。Spring提供若干实现,方便我们针对不同的资源获取资源文件以及对具体内容的操作。常用的有以下三种:
  1. 通过 FileSystemResource 以文件系统绝对路径的方式进行访问;
  2. 通过 ClassPathResource 以类路径的方式进行访问;
  3. 通过 ServletContextResource 以相对于Web应用根目录的方式进行访问。
如下图为基本的类关系图,我们可以看到Resource的主要继承接口,以及对应的三大主类的实现。
 
技术分享
  • 接口代码以及逻辑关系
    1, InputStreamSource
该接口提供最为资源读取流的简单接口。只有一个方法:
    1. InputStream getInputStream()throwsIOException;
该方法每次调用都会返回一个新的流对象。
   2, Resource接口。定义了一组对底层资源操作的基本方法。
  1. boolean exists();
  1. boolean isReadable();
  1. boolean isOpen();
  1. URL getURL()throwsIOException;
  1. URI getURI()throwsIOException;
  1. File getFile()throwsIOException;
  1. long contentLength()throwsIOException;
  1. long lastModified()throwsIOException;
  1. Resource createRelative(String relativePath)throwsIOException;
  1. String getFilename();
  1. String getDescription();
   3, WritableResource:该接口提供可供写入的资源。该接口继承自Resource,并提供自身的两个写入方法:
  1. boolean isWritable();
  2. OutputStream getOutputStream()throwsIOException;
  4, ContextResource:通过上下文获取Resource,例如:javax.servlet.ServletContext。
  该接口新增一个方法。
  1. String getPathWithinContext();
    5,AbstractResource:基础抽象类,对Resource接口的部分方法实现一个简单的实现。
    该类的源码可以大概看下就可以了,基本属于一些简单的实现。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 





Spring Resource源码分析

标签:

原文地址:http://www.cnblogs.com/jingLongJun/p/4491126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!