第7 8章spring课件06资源访问_第1页
第7 8章spring课件06资源访问_第2页
第7 8章spring课件06资源访问_第3页
第7 8章spring课件06资源访问_第4页
第7 8章spring课件06资源访问_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Spring的资源访问讲师:李刚本次要点Resource接口和各实现类各种Resource实现类代表的策略ResourceLoader接口依赖注入资源使用ApplicationContext访问资源。Resource接口Spring的资源访问通过Resource接口实现。Resource接口有如下方法:getInputStream()exists()isOpen()getFile()getURL()Resource接口的实现Resource接口有大量实现类常用的有:UrlResourceClassPathResourceFileSystemResourceServletContextResourceInputStreamResourceByteArrayResourceResource接口不同实现类代表不同的资源加载策略,下面略举几个实现类。FileSystemResource默认从文件系统的当前路径加载资源。使用newFileSystemResource(文件路径)可以加载到资源文件。ClassPathResourceClassPathResource会从当前设置的classpath中加载资源文件。ClassPathResourcebar=newClassPathResource(file);ServletContextResource默认从Web应用的根路径加载资源ServletContextResourcesrc=newServletContextResource(application,"WEB-INF/book.xml");ResourceLoader在ResourceLoader接口里有如下方法:ResourcegetResource(Stringlocation):该接口仅包含这个方法,该方法用于返回一个Resource实例。ApplicationContext的实现类都实现ResourceLoader接口,因此ApplicationContext可用于直接获取Resource实例。ApplicationContext获取资源某个ApplicationContext实例获取Resource实例时,默认采用与ApplicationContext相同的资源访问策略。对于如下代码:Resourceres=ctx.getResource("some/resource/path/myTemplate.txt);Spring将采用和ApplicationContext相同的策略来访问资源。也就是说:若ctx是FileSystemXmlApplicationContext,res就是FileSystemResource实例。若ctx是ClassPathXmlApplicationContext,res就是ClassPathResource实例。若ctx是WebXmlApplicationContext,res是ServletContextResource实例。指定资源访问策略使用ApplicationContext来访问资源时,也可不理会ApplicationContext的实现类,强制使用指定的资源访问策略。以下是常见前缀及对应的访问策略:classpath:-以ClassPathResource实例来访问类路径里的资源。file:-以UrlResource实例访问本地文件系统的资源。http:-以UrlResource实例访问基于HTTP协议的网络资源。无前缀-由于ApplicationContext的实现类来决定访问策略。使用Resource属性当Bean实例需要访问资源时,Spring有更好的解决方法:直接利用依赖注入。归纳起来,如果Bean实例需要访问资源,有如下两种解决方案:代码中获取Resource实例。使用依赖注入。对于第一种方式的资源访问,当程序获取Resource实例时,总需要提供Resource所在的位置,通常建议采用第二种方法。

依赖注入Resouce示例<beanid="test"class="lee.TestBean"> <!--注入资源--> <propertyname="resource" value="classpath:book.xml"/></bean>

ApplicationContext的访问策

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论