org.springframework.core.io

## 接口 ResourceLoader

- 所有已知子接口:
    ResourcePatternResolver
  所有已知实现类:
    ClassRelativeResourceLoader, DefaultResourceLoader, FileSystemResourceLoader, PathMatchingResourcePatternResolver

      public interface ResourceLoader

  Strategy interface for loading resources (e.. class path or file system resources). An `org.springframework.context.ApplicationContext` is required to provide this functionality, plus extended `ResourcePatternResolver` support.

  `DefaultResourceLoader` is a standalone implementation that is usable outside an ApplicationContext, also used by `ResourceEditor`.

  Bean properties of type Resource and Resource array can be populated from Strings when running in an ApplicationContext, using the particular context's resource loading strategy.

  从以下版本开始:
    10.03.2004
  作者:
    Juergen Hoeller
  另请参阅:
    `Resource`, `ResourcePatternResolver`, `org.springframework.context.ApplicationContext`, `org.springframework.context.ResourceLoaderAware`

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static String` | `CLASSPATH_URL_PREFIX` Pseudo URL prefix for loading from the class path: "classpath:"

  - ### 方法概要

    所有方法 实例方法 抽象方法
    限定符和类型 | 方法和说明
    --- | ---
    `ClassLoader` | `getClassLoader()` Expose the ClassLoader used by this ResourceLoader.
    `Resource` | `getResource(String location)` Return a Resource handle for the specified resource location.

- - ### 字段详细资料

    - #### CLASSPATH_URL_PREFIX

          static final String CLASSPATH_URL_PREFIX

      Pseudo URL prefix for loading from the class path: "classpath:"
      另请参阅:
        常量字段值

  - ### 方法详细资料

    - #### getResource

          Resource getResource(String location)

      Return a Resource handle for the specified resource location.

      The handle should always be a reusable resource descriptor, allowing for multiple `InputStreamSource.getInputStream()` calls.

      - Must support fully qualified URLs, e.g. "file:C:/test.dat".
      - Must support classpath pseudo-URLs, e.g. "classpath:test.dat".
      - Should support relative file paths, e.g. "WEB-INF/test.dat". (This will be implementation-specific, typically provided by an ApplicationContext implementation.)

      Note that a Resource handle does not imply an existing resource; you need to invoke `Resource.exists()` to check for existence.

      参数:
        `location` - the resource location
      返回:
        a corresponding Resource handle (never `null`)
      另请参阅:
        `CLASSPATH_URL_PREFIX`, `Resource.exists()`, `InputStreamSource.getInputStream()`

    - #### getClassLoader

          @Nullable
          ClassLoader getClassLoader()

      Expose the ClassLoader used by this ResourceLoader.

      Clients which need to access the ClassLoader directly can do so in a uniform manner with the ResourceLoader, rather than relying on the thread context ClassLoader.

      返回:
        the ClassLoader (only `null` if even the system ClassLoader isn't accessible)
      另请参阅:
        `ClassUtils.getDefaultClassLoader()`, `ClassUtils.forName(String, ClassLoader)`