Interface ResourceLoader

All Known Subinterfaces:
ApplicationContext, ConfigurableApplicationContext, ConfigurableWebApplicationContext, ResourcePatternResolver, WebApplicationContext
All Known Implementing Classes:
AbstractApplicationContext, AbstractRefreshableApplicationContext, AbstractRefreshableConfigApplicationContext, AbstractRefreshableWebApplicationContext, AbstractXmlApplicationContext, AnnotationConfigApplicationContext, AnnotationConfigWebApplicationContext, ClassPathXmlApplicationContext, ClassRelativeResourceLoader, DefaultResourceLoader, FileSystemResourceLoader, FileSystemXmlApplicationContext, GenericApplicationContext, GenericGroovyApplicationContext, GenericWebApplicationContext, GenericXmlApplicationContext, GroovyWebApplicationContext, PathMatchingResourcePatternResolver, ServletContextResourceLoader, ServletContextResourcePatternResolver, StaticApplicationContext, StaticWebApplicationContext, XmlWebApplicationContext

public interface ResourceLoader
Strategy interface for loading resources (e.g., 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 and is also used by ResourceEditor.

Bean properties of type Resource and Resource[] 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:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Pseudo URL prefix for loading from the class path: "classpath:".
  • Method Summary

    Modifier and Type
    Method
    Description
    Expose the ClassLoader used by this ResourceLoader.
    getResource(String location)
    Return a Resource handle for the specified resource location.
  • Field Details

    • CLASSPATH_URL_PREFIX

      static final String CLASSPATH_URL_PREFIX
      Pseudo URL prefix for loading from the class path: "classpath:".
      See Also:
  • Method Details

    • 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.

      Parameters:
      location - the resource location
      Returns:
      a corresponding Resource handle (never null)
      See Also:
    • 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.

      Returns:
      the ClassLoader (only null if even the system ClassLoader isn't accessible)
      See Also: