您的位置:首页 > 其它

资源访问

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接口自动区分类型

地址前缀
实例
对应资源类型
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服务器中加载资源
Ant风格资源地址:

/t?st.xml ?代表一个字符

/*.xml *代表若干个字符

/**/test.xml **代表若干层路径

ResourceLoader 只有一个方法:getResource(String location)

资源地址仅支持带类型前缀的表达式,不支持Ant风格的

ResourcePatternResolver扩展ResourceLoader接口,方法:getResources(String locationPattern)

资源地址支持带前缀的或者Ant风格的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: