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
FieldsModifier and TypeFieldDescriptionstatic final StringPseudo URL prefix for loading from the class path: "classpath:". -
Method Summary
Modifier and TypeMethodDescriptionExpose theClassLoaderused by thisResourceLoader.getResource(String location) Return aResourcehandle for the specified resource location.
-
Field Details
-
CLASSPATH_URL_PREFIX
Pseudo URL prefix for loading from the class path: "classpath:".- See Also:
-
-
Method Details
-
getResource
Return aResourcehandle 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
Resourcehandle does not imply an existing resource; you need to invokeResource.exists()to check for existence.- Parameters:
location- the resource location- Returns:
- a corresponding
Resourcehandle (nevernull) - See Also:
-
getClassLoader
@Nullable ClassLoader getClassLoader()Expose theClassLoaderused by thisResourceLoader.Clients which need to access the
ClassLoaderdirectly can do so in a uniform manner with theResourceLoader, rather than relying on the thread contextClassLoader.- Returns:
- the
ClassLoader(onlynullif even the systemClassLoaderisn't accessible) - See Also:
-