public interface ResourceLoader
ApplicationContext
is required to provide this functionality, plus extended
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.
Resource
,
ResourcePatternResolver
,
ApplicationContext
,
ResourceLoaderAware
Modifier and Type | Field and Description |
---|---|
static String |
CLASSPATH_URL_PREFIX
Pseudo URL prefix for loading from the class path: "classpath:".
|
Modifier and Type | Method and Description |
---|---|
ClassLoader |
getClassLoader()
Expose the ClassLoader used by this ResourceLoader.
|
Resource |
getResource(String location)
Return a Resource handle for the specified resource location.
|
static final String CLASSPATH_URL_PREFIX
Resource getResource(String location)
The handle should always be a reusable resource descriptor,
allowing for multiple InputStreamSource.getInputStream()
calls.
Note that a Resource handle does not imply an existing resource;
you need to invoke Resource.exists()
to check for existence.
location
- the resource locationnull
)CLASSPATH_URL_PREFIX
,
Resource.exists()
,
InputStreamSource.getInputStream()
@Nullable ClassLoader getClassLoader()
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.
null
if even the system ClassLoader isn't accessible)ClassUtils.getDefaultClassLoader()
,
ClassUtils.forName(String, ClassLoader)