Browse Source

ConfigurationClassParser considers EnvironmentAware on ImportBeanDefinitionRegistrars

Issue: SPR-11744
pull/545/head
Juergen Hoeller 12 years ago
parent
commit
3cb1cb5d2f
  1. 8
      spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java

8
spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassParser.java

@ -42,6 +42,7 @@ import org.springframework.beans.factory.parsing.ProblemReporter; @@ -42,6 +42,7 @@ import org.springframework.beans.factory.parsing.ProblemReporter;
import org.springframework.beans.factory.support.BeanDefinitionReader;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanNameGenerator;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.ResourceLoaderAware;
import org.springframework.core.NestedIOException;
import org.springframework.core.annotation.AnnotationAttributes;
@ -411,11 +412,14 @@ class ConfigurationClassParser { @@ -411,11 +412,14 @@ class ConfigurationClassParser {
}
/**
* Invoke {@link ResourceLoaderAware}, {@link BeanClassLoaderAware} and
* {@link BeanFactoryAware} contracts if implemented by the given {@code registrar}.
* Invoke {@link EnvironmentAware}, {@link ResourceLoaderAware}, {@link BeanClassLoaderAware}
* and {@link BeanFactoryAware} contracts if implemented by the given {@code registrar}.
*/
private void invokeAwareMethods(ImportBeanDefinitionRegistrar registrar) {
if (registrar instanceof Aware) {
if (registrar instanceof EnvironmentAware) {
((EnvironmentAware) registrar).setEnvironment(this.environment);
}
if (registrar instanceof ResourceLoaderAware) {
((ResourceLoaderAware) registrar).setResourceLoader(this.resourceLoader);
}

Loading…
Cancel
Save