Spring学习----------资源访问接口Resource

JDK所提供的访问资源的类并不能很好的满足各种底层资源的访问需求,比如缺少从类路径或者从web容器的上下文中获取资源的操作类。因此,Spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力。该接口拥有对应不同资源类型的实现类。

那么先来了解一下resource资源中的主要方法:
1.    boolean exists():判断资源是否存在
2.    boolean isOpen() :判断资源是否已经打开
3.    URL getURL() :如果底层资源可以表示成url,那么该方法返回对应的url对象
4.    File getFile() :如果底层资源对应的是一个文件,那么返回对应的文件对象
5.    InputStream getInputStream():返回资源对应的输入流

Spring框架使用resource来装载各种资源,这些资源包括:配置文件资源、国际化属性文件资源等。

那么下面我们来了解以下resource的具体实现类:
1.    ByteArrayResource :二进制数组表示资源
2.    ClassPathResource :类路径下面的资源
3.    FileSystemResource :文件系统资源,以文件系统路径的方式来表示
4.    InputStreamResource :输入流资源
5.    ServletContextResource :web容器上下文中的资源,负责以以相对于web的应用根目录的路径来加载资源。支持以流和url的方式来进行访问。在war包解包的情况下也可以通过file的方式来进行访问。该类还可以从jar包中来直接访问资源。
6.    UrlResource:封装了java.net.url,他使用户可以访问任何可以通过url访问的资源。如文件系统的资源、http的资源、ftp的资源等
那么有了以上的这几个抽象的资源类以后,我们就可以将Spring的配置信息放置在任何地方。比如数据库或者LDAP当中。

为了访问不同类型的资源,必须使用相应的Resource实现类,这是比较麻烦的,Spring提供了一个强大的加载资源的机制,他不但能够通过classpath、file等不同地址前缀来识别不同的资源类型,而且还支持Ant风格的带通配符的资源地址。
那么首先我们先来了解下Spring支持哪些不同类型的资源地址前缀:
1.    classpath  classpath:com/wang/bean.xml
2.    File file:/com/wang/bean.xml(可以采用绝对或者相对的路径)
3.    http:// http://www.wang.com/bean.xml
4.    ftp ftp://www.wang.com/bean.xml
5.    无前缀 com/wang/bean.xml
Ant风格的匹配符介绍:
1.    ?:匹配文件名中的一个字符
2.    *:匹配文件名中的任意字符
3.    **:匹配多层路径
Ant风格的资源路径示例:
1.    Classpath:com/t*st.xml
2.    File:D:/conf/*.xml
3.    Classpath:com/**/test.xml
4.    Classpath:org/springframework/**/*.xml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值