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

Spring笔记——12.访问资源

时间:2015-09-02 19:17:35      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:spring

Spring把文件,二进制流统称为资源。Spring改价了访问资源的策略,它提供了一个Resource接口,该接口提供了更强的资源访问能力,Spring架构本身大量使用了Resource来访问底层数据。

getInputStream方法能够定位并打开资源,返回资源对应的输入流。每次调用都返回新的输入流。调用者必须负责关闭输入流。

exists返回所指向文件是否存在。

isOpen返回资源是否打开。有些资源读取结束必须关闭,以防止资源泄露。

getDescription返回资源的描述信息。

getFile返回资源对应的File对象。

getURL返回资源对应的URL对象。最后两个是传统的方式,仅仅在简单方式访问受阻时才用。

此接口并没有任何资源访问实现逻辑。而对于不同资源,架构也提供了不同的resource实现类。并且Resource可以独立于Spring架构使用。虽然这里面也有接口与实现类的耦合,但这是指工具类的耦合,代码污染很小。


Resource实现类

  • UrlResource:访问网络资源的实现类

  • ClassPathResource:访问类加载路径里资源的实现类

  • FileSystemResource:访问文件系统里资源的实现类

  • ServletContextResource:访问相对于ServletContext路径下的资源的实现类

  • InputStreamResource:访问输入流资源的实现类

  • ByteArrayResource:访问字节数组资源的实现类



访问类加载路径下资源

ClassPathResource cr=new ClassPathResource("book.xml");

此处是手动创建。更多的时候架构能够在执行某个方法时,接受一个代表资源路径的字符串参数,参数有classpath前缀时,会自动创建ClassPathResource对象。


ResourceLoader接口和ResourceLoaderAware接口


本文出自 “指尖轻飞” 博客,谢绝转载!

Spring笔记——12.访问资源

标签:spring

原文地址:http://mengcao.blog.51cto.com/9395052/1690723

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