Interface ResourceLoaderAware
- All Superinterfaces:
Aware
- All Known Implementing Classes:
ClassPathBeanDefinitionScanner
,ClassPathScanningCandidateComponentProvider
,ConfigurationClassPostProcessor
,DefaultPersistenceUnitManager
,FreeMarkerConfigurationFactoryBean
,FreeMarkerConfigurer
,FreeMarkerConfigurer
,LocalContainerEntityManagerFactoryBean
,LocalSessionFactoryBean
,ReloadableResourceBundleMessageSource
,SchedulerAccessor
,SchedulerAccessorBean
,SchedulerFactoryBean
,ScriptFactoryPostProcessor
,SortedResourcesFactoryBean
public interface ResourceLoaderAware extends Aware
Interface to be implemented by any object that wishes to be notified of theResourceLoader
(typically the ApplicationContext) that it runs in. This is an alternative to a fullApplicationContext
dependency via theApplicationContextAware
interface.Note that
Resource
dependencies can also be exposed as bean properties of typeResource
, 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 a specific file resource.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 aDefaultResourceLoader
but still implementResourceLoaderAware
to allow for overriding when running in anApplicationContext
. SeeReloadableResourceBundleMessageSource
for an example.A passed-in
ResourceLoader
can also be checked for theResourcePatternResolver
interface and cast accordingly, in order to resolve resource patterns into arrays ofResource
objects. This will always work when running in an ApplicationContext (since the context interface extends the ResourcePatternResolver interface). Use aPathMatchingResourcePatternResolver
as default; see also theResourcePatternUtils.getResourcePatternResolver
method.As an alternative to a
ResourcePatternResolver
dependency, consider exposing bean properties of typeResource
array, populated via pattern Strings with automatic type conversion by the bean factory at binding time.- Since:
- 10.03.2004
- Author:
- Juergen Hoeller, Chris Beams
- See Also:
ApplicationContextAware
,Resource
,ResourceLoader
,ResourcePatternResolver
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
setResourceLoader(ResourceLoader resourceLoader)
Set the ResourceLoader that this object runs in.
Method Detail
setResourceLoader
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 theResourcePatternUtils.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'ssetApplicationContext
.- Parameters:
resourceLoader
- the ResourceLoader object to be used by this object- See Also:
ResourcePatternResolver
,ResourcePatternUtils.getResourcePatternResolver(org.springframework.core.io.ResourceLoader)