资源访问

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风格的



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值