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 (for example, 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, for example, "file:C:/test.dat".
      • Must support classpath pseudo-URLs, for example, "classpath:test.dat".
      • Should support relative file paths, for example, "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: