Interface ResourceLoader

  • All Known Implementing Classes:
    DefaultResourceLoader, FileSystemResourceLoader, StaticResourceLoader

    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.

    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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CLASSPATH_URL_PREFIX
      Pseudo URL prefix for loading from the class path: "classpath:"
    • Field Detail

      • CLASSPATH_URL_PREFIX

        static final java.lang.String CLASSPATH_URL_PREFIX
        Pseudo URL prefix for loading from the class path: "classpath:"
        See Also:
        Constant Field Values
    • Method Detail

      • getResource

        Resource getResource​(java.lang.String location)
        Return a Resource handle for the specified resource. The handle should always be a reusable resource descriptor, allowing for multiple Resource#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
      • getClassLoader

        java.lang.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)