## org.springframework.core.io
Interface ResourceLoader

All Known Subinterfaces:
  ApplicationContext, ConfigurableApplicationContext, ConfigurablePortletApplicationContext, ConfigurableWebApplicationContext, ResourcePatternResolver, WebApplicationContext

All Known Implementing Classes:
  AbstractApplicationContext, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractRefreshablePortletApplicationContext, AbstractRefreshableWebApplicationContext, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, AnnotationConfigWebApplicationContext, ClassPathXmlApplicationContext, ClassRelativeResourceLoader, DefaultResourceLoader, FileSystemResourceLoader, FileSystemXmlApplicationContext, GenericApplicationContext, GenericWebApplicationContext, GenericXmlApplicationContext, PathMatchingResourcePatternResolver, PortletContextResourceLoader, PortletContextResourcePatternResolver, ResourceAdapterApplicationContext, ServletContextResourceLoader, ServletContextResourcePatternResolver, StaticApplicationContext, StaticPortletApplicationContext, StaticWebApplicationContext, XmlPortletApplicationContext, XmlWebApplicationContext

    public interface ResourceLoader

Strategy interface for loading resources (e.. class path or file system resources). An `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.

Since:
  10.03.2004
Author:
  Juergen Hoeller
See Also:
  `Resource`, `ResourcePatternResolver`, `ApplicationContext`, `ResourceLoaderAware`

Field Summary
`static String` `CLASSPATH_URL_PREFIX` Pseudo URL prefix for loading from the class path: "classpath:"

Method Summary
`ClassLoader` `getClassLoader()` Expose the ClassLoader used by this ResourceLoader.
`Resource` `getResource(String location)` Return a Resource handle for the specified resource.

Field Detail

### CLASSPATH_URL_PREFIX

    static final String CLASSPATH_URL_PREFIX

  Pseudo URL prefix for loading from the class path: "classpath:"

  See Also:
    Constant Field Values

Method Detail

### getResource

    Resource getResource(String location)

  Return a Resource handle for the specified resource. 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.

  Parameters:
    `location` - the resource location
  Returns:
    a corresponding Resource handle
  See Also:
    `CLASSPATH_URL_PREFIX`, `Resource.exists()`, `InputStreamSource.getInputStream()`

### getClassLoader

    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.

  Returns:
    the ClassLoader (never `null`)