@Import detects and accepts existing configuration class of the desired type
This commit is contained in:
parent
0a8a80ede3
commit
433d52b728
|
|
@ -129,6 +129,24 @@ final class ConfigurationClass {
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
if (!(other instanceof ConfigurationClass)) {
|
||||
return false;
|
||||
}
|
||||
ConfigurationClass otherCc = (ConfigurationClass) other;
|
||||
return getMetadata().getClassName().equals(otherCc.getMetadata().getClassName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return getMetadata().getClassName().hashCode();
|
||||
}
|
||||
|
||||
|
||||
/** Configuration classes must be non-final to accommodate CGLIB subclassing. */
|
||||
private class FinalConfigurationProblem extends Problem {
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class ConfigurationClassBeanDefinitionReader {
|
|||
if (configClass.getBeanName() == null) {
|
||||
GenericBeanDefinition configBeanDef = new GenericBeanDefinition();
|
||||
configBeanDef.setBeanClassName(configClass.getMetadata().getClassName());
|
||||
String configBeanName = BeanDefinitionReaderUtils.registerWithGeneratedName(configBeanDef, registry);
|
||||
String configBeanName = BeanDefinitionReaderUtils.registerWithGeneratedName(configBeanDef, this.registry);
|
||||
configClass.setBeanName(configBeanName);
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug(String.format("Registered bean definition for imported @Configuration class %s", configBeanName));
|
||||
|
|
@ -109,7 +109,7 @@ class ConfigurationClassBeanDefinitionReader {
|
|||
|
||||
/**
|
||||
* Reads a particular {@link ConfigurationClassMethod}, registering bean definitions with
|
||||
* {@link #registry} based on its contents.
|
||||
* the BeanDefinitionRegistry based on its contents.
|
||||
*/
|
||||
private void loadBeanDefinitionsForModelMethod(ConfigurationClassMethod method) {
|
||||
ConfigurationClass configClass = method.getDeclaringClass();
|
||||
|
|
|
|||
Loading…
Reference in New Issue