Always accept existing explicit definition for same class name

See gh-25952
This commit is contained in:
Juergen Hoeller
2023-08-16 18:46:32 +02:00
parent 4bfbf7d3c8
commit e685ff0416
2 changed files with 15 additions and 1 deletions

View File

@@ -215,6 +215,18 @@ public class ClassPathBeanDefinitionScannerTests {
.withMessageContaining(StubFooDao.class.getName());
}
@Test
public void testSimpleScanWithDefaultFiltersAndOverridingBeanAcceptedForSameBeanClass() {
GenericApplicationContext context = new GenericApplicationContext();
context.getDefaultListableBeanFactory().setAllowBeanDefinitionOverriding(false);
context.registerBeanDefinition("stubFooDao", new RootBeanDefinition(StubFooDao.class));
ClassPathBeanDefinitionScanner scanner = new ClassPathBeanDefinitionScanner(context);
scanner.setIncludeAnnotationConfig(false);
// should not fail!
scanner.scan(BASE_PACKAGE);
}
@Test
public void testSimpleScanWithDefaultFiltersAndDefaultBeanNameClash() {
GenericApplicationContext context = new GenericApplicationContext();