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 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.
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)
Resource
handle for the specified resource 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 locationResource
handle (never null
)CLASSPATH_URL_PREFIX
,
Resource.exists()
,
InputStreamSource.getInputStream()
@Nullable ClassLoader getClassLoader()
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
.
ClassLoader
(only null
if even the system ClassLoader
isn't accessible)ClassUtils.getDefaultClassLoader()
,
ClassUtils.forName(String, ClassLoader)