Top Description Methods
org.springframework.context

public Interface ResourceLoaderAware

extends Aware
Known Direct Implementers
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider, org.springframework.context.annotation.ConfigurationClassPostProcessor, org.springframework.context.support.ReloadableResourceBundleMessageSource, org.springframework.scripting.support.ScriptFactoryPostProcessor
Imports
org.springframework.beans.factory.Aware, org.springframework.core.io.ResourceLoader

Interface to be implemented by any object that wishes to be notified of the ResourceLoader (typically the ApplicationContext) that it runs in. This is an alternative to a full ApplicationContext dependency via the org.springframework.context.ApplicationContextAware interface.

Note that org.springframework.core.io.Resource dependencies can also be exposed as bean properties of type Resource or Resource[], populated via Strings with automatic type conversion by the bean factory. This removes the need for implementing any callback interface just for the purpose of accessing specific file resources.

You typically need a ResourceLoader when your application object has to access a variety of file resources whose names are calculated. A good strategy is to make the object use a org.springframework.core.io.DefaultResourceLoader but still implement ResourceLoaderAware to allow for overriding when running in an ApplicationContext. See org.springframework.context.support.ReloadableResourceBundleMessageSource for an example.

A passed-in ResourceLoader can also be checked for the org.springframework.core.io.support.ResourcePatternResolver interface and cast accordingly, in order to resolve resource patterns into arrays of Resource objects. This will always work when running in an ApplicationContext (since the context interface extends the ResourcePatternResolver interface). Use a org.springframework.core.io.support.PathMatchingResourcePatternResolver as default; see also the ResourcePatternUtils.getResourcePatternResolver method.

As an alternative to a ResourcePatternResolver dependency, consider exposing bean properties of type Resource[] array, populated via pattern Strings with automatic type conversion by the bean factory at binding time.

Authors
Juergen Hoeller, Chris Beams
Since
10.03.2004
See Also
ApplicationContextAware, org.springframework.core.io.Resource, org.springframework.core.io.ResourceLoader, org.springframework.core.io.support.ResourcePatternResolver

Method Summary

Modifier and TypeMethod and Description
public void
setResourceLoader(ResourceLoader
the ResourceLoader object to be used by this object
resourceLoader
)

Set the ResourceLoader that this object runs in.

This might be a ResourcePatternResolver, which can be checked through instanceof ResourcePatternResolver.

Method Detail

setResourceLoaderback to summary
public void setResourceLoader(ResourceLoader resourceLoader)

Set the ResourceLoader that this object runs in.

This might be a ResourcePatternResolver, which can be checked through instanceof ResourcePatternResolver. See also the ResourcePatternUtils.getResourcePatternResolver method.

Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked before ApplicationContextAware's setApplicationContext.

Parameters
resourceLoader:ResourceLoader

the ResourceLoader object to be used by this object

See Also
org.springframework.core.io.support.ResourcePatternResolver, org.springframework.core.io.support.ResourcePatternUtils#getResourcePatternResolver