JDK所提供的访问资源的类并不能很好的满足各种底层资源的访问需求,因此,Spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力

主要方法

boolean exists()判断资源是否存在

boolean isOpen() 判断资源是否已经打开

URL getURL() 如果底层资源可以表示成URL,那么该方法返回URL对象

File getFile() 如果底层资源对应一个文件,那么该方法返回对应的文件对象

InputStream getInputStream()返回资源对应的输入流

具体实现类

ByteArrayResource

ClassPathResource

FileSystemResource

InputStreamResource

ServletContextResource

UrlResource

为了访问不同类型的资源,必须使用相应的Resource实现类,这是比较麻烦的,Spring提供了一个强大的加载资源的机制,能够自动识别不同的资源类型。

资源类型地址前缀

classpath 从类路径中加载资源 classpath:com/jike/bean.xml

File file:/com/jike/bean.xml

http:// http://www.jike.com/bean.xml

ftp ftp://www.jike.com/bean.xml

无前缀 com/jike/bean.xml

Ant风格的匹配符

?:匹配文件名中的一个字符

*:匹配文件名中的任意字符

**:匹配多层路径

Ant风格的资源路径示例

Classpath:com/t*st.xml

File:D:/conf/*.xml

Classpath:com/**/test.xml

Classpath:org/springframework/**/*.xml

Spring定义了一套资源加载的接口,并提供了实现类,如下

最新文章

  1. 第五章:Javascript语句
  2. HDU2063_过山车_C++
  3. __cdecl、__stdcall、__fastcall、thiscall 进栈、出栈区别
  4. Ubunu下安装mongoDB
  5. python爬虫利器Selenium使用详解
  6. 利用C#进行Socket通信编程之二:一个实例
  7. 【计算机网络】 一个小白的网络层学习笔记:总结下IP,NAT和DHCP
  8. ubuntu16.04安装交叉编译链
  9. AspNet Core 认证
  10. 微信小程序--swiper组件
  11. C++ 关于MFC List Control 控件的使用事项 原创
  12. matlab入门笔记(一):常用快捷键
  13. [Java]接受拖拽文件的窗口
  14. TZOJ 1545 Hurdles of 110m(01背包dp)
  15. SiteMesh的使用--笔记
  16. Shape of HDU_hdu_2108(几何).java
  17. LeetCode 755. Pour Water
  18. JAVA日志框架概述
  19. Java接口成员变量
  20. qmake make install

热门文章

  1. u-boot分析(九)----nand flash初始化|nand flash读写分析
  2. BZOJ 4502: 串 AC自动机
  3. CSS:响应式下的折叠菜单(条纹式)
  4. Linux高性能server编程——定时器
  5. 【BZOJ3622】已经没有什么好害怕的了(动态规划+广义容斥)
  6. BestCoder Round #91 1001 Lotus and Characters
  7. 字符串反转,栈模拟(ZOJ1151)
  8. 基于Mybatis的Dao层开发
  9. 【转】NodeJS教程--基于ExpressJS框架的文件上传
  10. 剑指offer 33 把数组排成最小的数