spring学习笔记(2)文件资源访问接口Resource

来源:互联网 发布:淘宝白菜群怎么得佣金 编辑:程序博客网 时间:2024/05/01 19:15

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的标准实现类,多通过此类来加载资源。
1 0