|
44 | 44 | import org.springframework.beans.factory.support.RootBeanDefinition;
|
45 | 45 | import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
|
46 | 46 | import org.springframework.context.annotation.ConfigurationCondition.ConfigurationPhase;
|
| 47 | +import org.springframework.core.Conventions; |
47 | 48 | import org.springframework.core.annotation.AnnotationAttributes;
|
48 | 49 | import org.springframework.core.env.Environment;
|
49 | 50 | import org.springframework.core.io.Resource;
|
|
70 | 71 | */
|
71 | 72 | class ConfigurationClassBeanDefinitionReader {
|
72 | 73 |
|
| 74 | + private static final String NOT_LITE_ATTRIBUTE = Conventions |
| 75 | + .getQualifiedAttributeName(ConfigurationClassPostProcessor.class, |
| 76 | + "notLite"); |
| 77 | + |
73 | 78 | private static final Log logger = LogFactory.getLog(ConfigurationClassBeanDefinitionReader.class);
|
74 | 79 |
|
75 | 80 | private static final ScopeMetadataResolver scopeMetadataResolver = new AnnotationScopeMetadataResolver();
|
@@ -151,6 +156,9 @@ private void loadBeanDefinitionsForConfigurationClass(
|
151 | 156 | private void registerBeanDefinitionForImportedConfigurationClass(ConfigurationClass configClass) {
|
152 | 157 | AnnotationMetadata metadata = configClass.getMetadata();
|
153 | 158 | AnnotatedGenericBeanDefinition configBeanDef = new AnnotatedGenericBeanDefinition(metadata);
|
| 159 | + if (metadata.hasMetaAnnotation(Configuration.class.getName())) { |
| 160 | + configBeanDef.setAttribute(NOT_LITE_ATTRIBUTE, true); |
| 161 | + } |
154 | 162 |
|
155 | 163 | ScopeMetadata scopeMetadata = scopeMetadataResolver.resolveScopeMetadata(configBeanDef);
|
156 | 164 | configBeanDef.setScope(scopeMetadata.getScopeName());
|
@@ -271,6 +279,7 @@ private void loadBeanDefinitionsForBeanMethod(BeanMethod beanMethod) {
|
271 | 279 | logger.trace(String.format("Registering bean definition for @Bean method %s.%s()",
|
272 | 280 | configClass.getMetadata().getClassName(), beanName));
|
273 | 281 | }
|
| 282 | + beanDefToRegister.setAttribute(NOT_LITE_ATTRIBUTE, true); |
274 | 283 | this.registry.registerBeanDefinition(beanName, beanDefToRegister);
|
275 | 284 | }
|
276 | 285 |
|
|
0 commit comments