Spring Resource

Spring 对资源进行了很好的抽象提供了,了解设计的结构,看见名字就能大致知道他的功能。

资源

Spring Resource_第1张图片
Resource.PNG

InputStreamSource 只有一个功能获取一个输入流
Resource 资源增加了对资源的一下功能入exists()资源是否存在,getUrl等资源的常用方法。
WritableResource 可写接口资源
AbstractResource Resource的基础实现类,实现了Resource的
AbstractResource 的子类就是一些具体的Resource类,通过不同方式进来不同的资源,包含有一些资源特有的方法。

加载

资源需要路径,程序才能知道去哪里获取资源。Spring提供了强大资源加载机制
[地址前缀]Ant风格的资源地址

  • 前缀
    classpath: 程序类路径 包下
    classpath*: 程序所有使用的包下
    file: 文件路径
    http:// 使用UrlResource从服务器加载资源
    ftp:// 使用UrlResouce从Ftp服务费加载资源
    [空] 更加当时采用的具体Resource实现类,获取资源
  • Ant资源路径
    ? 匹配一个字符
    * 匹配任意字符
    ** 匹配多层路径

资源加载器

Spring Resource_第2张图片
resource_loader.PNG
Spring Resource_第3张图片
resource_loade1r.PNG

ResourceLoader 定义了getResource()
DefaultResourceLoader 默认实现,
ResourcePatternResolver 拓展ResourceLoader,可以获取一组资源
FileSystemResourceLoader 文件path获取resource
ResourcePatternResolver 资源前缀和Ant资源路径支持
PathMatchingResourcePatternResolver 资源前缀和Ant资源路径支持实现类。

  1. 资源可以不通过加载器直接加载,当前前提是能指定确定的资源。
  2. 也可以通过资源加载器更方便,能使用资源前缀,ant 去批量获取功能更加强大的加载资源。

你可能感兴趣的:(Spring Resource)