@@ -1271,10 +1271,11 @@ class DefaultListableBeanFactoryTests {
|
|||||||
lbf.registerBeanDefinition("rod", bd);
|
lbf.registerBeanDefinition("rod", bd);
|
||||||
RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
|
||||||
lbf.registerBeanDefinition("rod2", bd2);
|
lbf.registerBeanDefinition("rod2", bd2);
|
||||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() ->
|
|
||||||
lbf.autowire(ConstructorDependency.class, AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, false))
|
assertThatExceptionOfType(UnsatisfiedDependencyException.class)
|
||||||
.withMessageContaining("rod")
|
.isThrownBy(() -> lbf.autowire(ConstructorDependency.class, AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, false))
|
||||||
.withMessageContaining("rod2");
|
.withMessageContaining("rod")
|
||||||
|
.withMessageContaining("rod2");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1336,11 +1337,12 @@ class DefaultListableBeanFactoryTests {
|
|||||||
RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
|
||||||
bd2.setDependsOn("tb1");
|
bd2.setDependsOn("tb1");
|
||||||
lbf.registerBeanDefinition("tb2", bd2);
|
lbf.registerBeanDefinition("tb2", bd2);
|
||||||
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(() ->
|
|
||||||
lbf.preInstantiateSingletons())
|
assertThatExceptionOfType(BeanCreationException.class)
|
||||||
.withMessageContaining("Circular")
|
.isThrownBy(() -> lbf.preInstantiateSingletons())
|
||||||
.withMessageContaining("'tb2'")
|
.withMessageContaining("Circular")
|
||||||
.withMessageContaining("'tb1'");
|
.withMessageContaining("'tb2'")
|
||||||
|
.withMessageContaining("'tb1'");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1354,11 +1356,12 @@ class DefaultListableBeanFactoryTests {
|
|||||||
RootBeanDefinition bd3 = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition bd3 = new RootBeanDefinition(TestBean.class);
|
||||||
bd3.setDependsOn("tb1");
|
bd3.setDependsOn("tb1");
|
||||||
lbf.registerBeanDefinition("tb3", bd3);
|
lbf.registerBeanDefinition("tb3", bd3);
|
||||||
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(
|
|
||||||
lbf::preInstantiateSingletons)
|
assertThatExceptionOfType(BeanCreationException.class)
|
||||||
.withMessageContaining("Circular")
|
.isThrownBy(lbf::preInstantiateSingletons)
|
||||||
.withMessageContaining("'tb3'")
|
.withMessageContaining("Circular")
|
||||||
.withMessageContaining("'tb1'");
|
.withMessageContaining("'tb3'")
|
||||||
|
.withMessageContaining("'tb1'");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1493,10 +1496,11 @@ class DefaultListableBeanFactoryTests {
|
|||||||
RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
|
||||||
lbf.registerBeanDefinition("bd1", bd1);
|
lbf.registerBeanDefinition("bd1", bd1);
|
||||||
lbf.registerBeanDefinition("bd2", bd2);
|
lbf.registerBeanDefinition("bd2", bd2);
|
||||||
assertThatExceptionOfType(NoUniqueBeanDefinitionException.class).isThrownBy(() ->
|
|
||||||
lbf.getBean(TestBean.class))
|
assertThatExceptionOfType(NoUniqueBeanDefinitionException.class)
|
||||||
.withMessageContaining("Multiple beans found with the same priority")
|
.isThrownBy(() -> lbf.getBean(TestBean.class))
|
||||||
.withMessageContaining("5"); // conflicting priority
|
.withMessageContaining("Multiple beans found with the same priority")
|
||||||
|
.withMessageContaining("5"); // conflicting priority
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1698,9 +1702,9 @@ class DefaultListableBeanFactoryTests {
|
|||||||
lbf.registerBeanDefinition("bd1", bd1);
|
lbf.registerBeanDefinition("bd1", bd1);
|
||||||
lbf.registerBeanDefinition("bd2", bd2);
|
lbf.registerBeanDefinition("bd2", bd2);
|
||||||
|
|
||||||
assertThatExceptionOfType(NoUniqueBeanDefinitionException.class).isThrownBy(() ->
|
assertThatExceptionOfType(NoUniqueBeanDefinitionException.class)
|
||||||
lbf.getBean(ConstructorDependency.class, 42))
|
.isThrownBy(() -> lbf.getBean(ConstructorDependency.class, 42))
|
||||||
.withMessageContaining("more than one 'primary'");
|
.withMessageContaining("more than one 'primary'");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1881,10 +1885,11 @@ class DefaultListableBeanFactoryTests {
|
|||||||
RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(TestBean.class);
|
||||||
lbf.registerBeanDefinition("test", bd);
|
lbf.registerBeanDefinition("test", bd);
|
||||||
lbf.registerBeanDefinition("spouse", bd2);
|
lbf.registerBeanDefinition("spouse", bd2);
|
||||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() ->
|
|
||||||
lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true))
|
assertThatExceptionOfType(UnsatisfiedDependencyException.class)
|
||||||
.withMessageContaining("test")
|
.isThrownBy(() -> lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true))
|
||||||
.withMessageContaining("spouse");
|
.withMessageContaining("test")
|
||||||
|
.withMessageContaining("spouse");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1946,10 +1951,11 @@ class DefaultListableBeanFactoryTests {
|
|||||||
RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
|
RootBeanDefinition bd2 = new RootBeanDefinition(HighPriorityTestBean.class);
|
||||||
lbf.registerBeanDefinition("test", bd);
|
lbf.registerBeanDefinition("test", bd);
|
||||||
lbf.registerBeanDefinition("spouse", bd2);
|
lbf.registerBeanDefinition("spouse", bd2);
|
||||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() ->
|
|
||||||
lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true))
|
assertThatExceptionOfType(UnsatisfiedDependencyException.class)
|
||||||
.withCauseExactlyInstanceOf(NoUniqueBeanDefinitionException.class)
|
.isThrownBy(() -> lbf.autowire(DependenciesBean.class, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, true))
|
||||||
.withMessageContaining("5");
|
.withCauseExactlyInstanceOf(NoUniqueBeanDefinitionException.class)
|
||||||
|
.withMessageContaining("5");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -2185,19 +2191,21 @@ class DefaultListableBeanFactoryTests {
|
|||||||
@Test
|
@Test
|
||||||
void beanDefinitionWithInterface() {
|
void beanDefinitionWithInterface() {
|
||||||
lbf.registerBeanDefinition("test", new RootBeanDefinition(ITestBean.class));
|
lbf.registerBeanDefinition("test", new RootBeanDefinition(ITestBean.class));
|
||||||
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(() ->
|
|
||||||
lbf.getBean("test"))
|
assertThatExceptionOfType(BeanCreationException.class)
|
||||||
.withMessageContaining("interface")
|
.isThrownBy(() -> lbf.getBean("test"))
|
||||||
.satisfies(ex -> assertThat(ex.getBeanName()).isEqualTo("test"));
|
.withMessageContaining("interface")
|
||||||
|
.satisfies(ex -> assertThat(ex.getBeanName()).isEqualTo("test"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void beanDefinitionWithAbstractClass() {
|
void beanDefinitionWithAbstractClass() {
|
||||||
lbf.registerBeanDefinition("test", new RootBeanDefinition(AbstractBeanFactory.class));
|
lbf.registerBeanDefinition("test", new RootBeanDefinition(AbstractBeanFactory.class));
|
||||||
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(() ->
|
|
||||||
lbf.getBean("test"))
|
assertThatExceptionOfType(BeanCreationException.class)
|
||||||
.withMessageContaining("abstract")
|
.isThrownBy(() -> lbf.getBean("test"))
|
||||||
.satisfies(ex -> assertThat(ex.getBeanName()).isEqualTo("test"));
|
.withMessageContaining("abstract")
|
||||||
|
.satisfies(ex -> assertThat(ex.getBeanName()).isEqualTo("test"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2023 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -29,7 +29,8 @@ import org.springframework.util.NumberUtils;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Miscellaneous utility methods for DAO implementations.
|
* Miscellaneous utility methods for DAO implementations.
|
||||||
* Useful with any data access technology.
|
*
|
||||||
|
* <p>Useful with any data access technology.
|
||||||
*
|
*
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @since 1.0.2
|
* @since 1.0.2
|
||||||
|
|||||||
Reference in New Issue
Block a user