Interface ResourceLoader

  • All Known Subinterfaces:
    ResourcePatternResolver
    All Known Implementing Classes:
    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 org.hotswap.agent.util.spring.path.springframework.core.io.support.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, org.springframework.context.ApplicationContext, org.springframework.context.ResourceLoaderAware
    • 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, org.hotswap.agent.util.spring.io.resource.springframework.core.io.Resource#exists, org.hotswap.agent.util.spring.io.resource.springframework.core.io.Resource#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 (only null if even the system ClassLoader isn't accessible)
        See Also:
        org.springframework.util.ClassUtils#getDefaultClassLoader()