资源访问
2015-09-18 23:48
393 查看
Resource接口,有如下方法:
boolean exists(); 资源是否存在
boolean isOpen; 资源是否打开
URL getURL(); 如果资源对应一个URL, 返回URL
File getFile(); 如果资源对应一个文件,返回文件
InputStream getInputStream(); 返回资源对应的输入流
Resource接口的实现类:
ByteArrayResource:
二进制数组表示的资源
ClassPathResource:
类路径下的资源,以类路径访问
FileSystemResource:
文件系统资源,以文件系统绝对路径访问
InputStreamResource:
对应一个InputStream资源
ServletContextResource:
为访问Web容器上下文中的资源设计的类,以相对于Web应用根目录的路径加载资源
UrlResource:
使用户可以访问任何通过URL表示的资源,例如文件系统、HTTP、FTP等资源
如果资源地址没有前缀,则根据以上实现类来加载;如果有前缀,可以直接使用ResourceLoader接口自动区分类型
Ant风格资源地址:
/t?st.xml ?代表一个字符
/*.xml *代表若干个字符
/**/test.xml **代表若干层路径
ResourceLoader 只有一个方法:getResource(String location)
资源地址仅支持带类型前缀的表达式,不支持Ant风格的
ResourcePatternResolver扩展ResourceLoader接口,方法:getResources(String locationPattern)
资源地址支持带前缀的或者Ant风格的
boolean exists(); 资源是否存在
boolean isOpen; 资源是否打开
URL getURL(); 如果资源对应一个URL, 返回URL
File getFile(); 如果资源对应一个文件,返回文件
InputStream getInputStream(); 返回资源对应的输入流
Resource接口的实现类:
ByteArrayResource:
二进制数组表示的资源
ClassPathResource:
类路径下的资源,以类路径访问
FileSystemResource:
文件系统资源,以文件系统绝对路径访问
InputStreamResource:
对应一个InputStream资源
ServletContextResource:
为访问Web容器上下文中的资源设计的类,以相对于Web应用根目录的路径加载资源
UrlResource:
使用户可以访问任何通过URL表示的资源,例如文件系统、HTTP、FTP等资源
如果资源地址没有前缀,则根据以上实现类来加载;如果有前缀,可以直接使用ResourceLoader接口自动区分类型
地址前缀 | 实例 | 对应资源类型 |
classpath | classpath:com/gome/doc/beans.xml | 从类路径加载,相对于类的跟路径,资源文件可以在文件系统中,也可以在jar或zip的类包中 |
file: | file:/conf/com/……/beans.xml | 从文件路径加载,可以是相对路径或者绝对路径 |
http:// | http://www.gome.com/……/beans.xml | 从Web服务器中加载资源 |
ftp:// | ftp://www.gome.com/……/beans.xml | 从FTP服务器中加载资源 |
/t?st.xml ?代表一个字符
/*.xml *代表若干个字符
/**/test.xml **代表若干层路径
ResourceLoader 只有一个方法:getResource(String location)
资源地址仅支持带类型前缀的表达式,不支持Ant风格的
ResourcePatternResolver扩展ResourceLoader接口,方法:getResources(String locationPattern)
资源地址支持带前缀的或者Ant风格的
相关文章推荐
- 我的Android设计模式(一) 层级控制模式
- applicationContext.xml
- textview圆角只有左上角有效的问题
- Spring 控制反转
- byte、short和char隐式的转换为int
- UITableView判断reloadData结束(iOS)
- hdoj 3836 Equivalent Sets【scc&&缩点】【求最少加多少条边使图强连通】
- Laser-induced CVD
- zz部署wcf iis
- 如何脱机查看安卓的官方api
- ATG执行sql部分示例
- 关于坦克在其他客户端能够显示,但是不能运动的错误的定位
- 公告: 新博客已经迁移到 www.root.run
- [leetcode126]word ladder 2
- dubbo入门
- jQuery.innerWidth() 函数详解
- 我的第一篇博客
- redis命令
- redis简介
- 二.Hibernate 提供的查询方式