spring学习笔记(2)文件资源访问接口Resource
简介:
<div class="markdown_views"><h1 id="spring-资源抽象接口下的几个常用实现类">spring 资源抽象接口下的几个常用实现类</h1><table><thead><tr><th>实现类</th> <th>说明</th></tr></thead><tbody><tr><td>ClassPathResource</td>
spring 资源抽象接口下的几个常用实现类
实现类 |
说明 |
ClassPathResource |
类路径下的资源,资源以相对类路径的方式表示 |
FileSystemResource |
文件系统资源,资源以文件系统路径的的方式表示,如/home/root/test.txt |
ServletContextResource |
为访问web上下文中的资源而设计的类,负责以相对于web应用根目录的路径加载资源,它支持以流和URL的方式访问,在war解包情况下,也可以通过File的方式访问,该类还可以直接从jar包中访问资源; |
UrlResource |
Url封装了java.net.URL ,它使用户能够访问任何可以通URL表示的资源,如文件系统的资源、HTTP资源、FTP资源等 |
类型资源前缀
地址前缀 |
对应资源类型 |
classpath: |
从类路径中加载资源,资源文件可以在标准的文件系统中,也可以在jar或zip的类包中。 |
file: |
使用UrlResource从文件系统目录中装载资源,可使用绝对路径或相对路径 |
http:// |
使用UrlResource从Web服务器中装载资源 |
ftp:// |
使用UrlResource从FTP服务器中装载资源 |
无 |
根据具体的实现类再用对应类型的resource |
Ant风格资源地址支持3种匹配符:
符号 |
说明 |
? |
匹配文件名中的一个字符 |
* |
匹配文件名中任意一个字符 |
** |
匹配多层路径 |
资源加载器
类 |
说明 |
ResourceLoader |
是一个interface,通过getResource(String Location)方法根据资源地址来加载资源,仅支持带资源类型前缀的表达式,不支持Ant风格的资源路径表达式。 |
ResourcePatternResolve |
扩展自ResourceLoader接口,但也是一个interface。通过getResources(String LocationPattern)来获取资源,该方法支持带资源类型前缀和Ant风格的资源路径。 |
PathMachingResourcePatternResolver |
ResoucePatternResolve的标准实现类,多通过此类来加载资源。 |