Polish DefaultListableBeanFactoryTests
This commit is contained in:
@@ -26,7 +26,6 @@ import java.security.Principal;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
@@ -95,6 +94,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.ArgumentMatchers.isNull;
|
||||
@@ -178,10 +178,8 @@ class DefaultListableBeanFactoryTests {
|
||||
registerBeanDefinitions(p);
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(0);
|
||||
beanNames = lbf.getBeanNamesForAnnotation(SuppressWarnings.class);
|
||||
assertThat(beanNames).hasSize(0);
|
||||
assertBeanNamesForType(TestBean.class, false, false);
|
||||
assertThat(lbf.getBeanNamesForAnnotation(SuppressWarnings.class)).isEmpty();
|
||||
|
||||
assertThat(lbf.containsSingleton("x1")).isFalse();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
@@ -212,10 +210,8 @@ class DefaultListableBeanFactoryTests {
|
||||
registerBeanDefinitions(p);
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(0);
|
||||
beanNames = lbf.getBeanNamesForAnnotation(SuppressWarnings.class);
|
||||
assertThat(beanNames).hasSize(0);
|
||||
assertBeanNamesForType(TestBean.class, false, false);
|
||||
assertThat(lbf.getBeanNamesForAnnotation(SuppressWarnings.class)).isEmpty();
|
||||
|
||||
assertThat(lbf.containsSingleton("x1")).isFalse();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
@@ -245,10 +241,8 @@ class DefaultListableBeanFactoryTests {
|
||||
registerBeanDefinitions(p);
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(0);
|
||||
beanNames = lbf.getBeanNamesForAnnotation(SuppressWarnings.class);
|
||||
assertThat(beanNames).hasSize(0);
|
||||
assertBeanNamesForType(TestBean.class, false, false);
|
||||
assertThat(lbf.getBeanNamesForAnnotation(SuppressWarnings.class)).isEmpty();
|
||||
|
||||
assertThat(lbf.containsSingleton("x1")).isFalse();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
@@ -278,10 +272,8 @@ class DefaultListableBeanFactoryTests {
|
||||
registerBeanDefinitions(p);
|
||||
lbf.preInstantiateSingletons();
|
||||
|
||||
assertThat(!DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isTrue();
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(1);
|
||||
assertThat(beanNames[0]).isEqualTo("x1");
|
||||
assertThat(DummyFactory.wasPrototypeCreated()).as("prototype not instantiated").isFalse();
|
||||
assertBeanNamesForType(TestBean.class, true, false, "x1");
|
||||
assertThat(lbf.containsSingleton("x1")).isTrue();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
assertThat(lbf.containsBean("&x1")).isTrue();
|
||||
@@ -316,14 +308,10 @@ class DefaultListableBeanFactoryTests {
|
||||
assertThat(lbf.isTypeMatch("&x2", Object.class)).isTrue();
|
||||
assertThat(lbf.getType("x2")).isEqualTo(TestBean.class);
|
||||
assertThat(lbf.getType("&x2")).isEqualTo(DummyFactory.class);
|
||||
assertThat(lbf.getAliases("x1").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("x1")[0]).isEqualTo("x2");
|
||||
assertThat(lbf.getAliases("&x1").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("&x1")[0]).isEqualTo("&x2");
|
||||
assertThat(lbf.getAliases("x2").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("x2")[0]).isEqualTo("x1");
|
||||
assertThat(lbf.getAliases("&x2").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("&x2")[0]).isEqualTo("&x1");
|
||||
assertThat(lbf.getAliases("x1")).containsExactly("x2");
|
||||
assertThat(lbf.getAliases("&x1")).containsExactly("&x2");
|
||||
assertThat(lbf.getAliases("x2")).containsExactly("x1");
|
||||
assertThat(lbf.getAliases("&x2")).containsExactly("&x1");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -333,9 +321,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf.registerBeanDefinition("x1", rbd);
|
||||
|
||||
TestBeanFactory.initialized = false;
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(1);
|
||||
assertThat(beanNames[0]).isEqualTo("x1");
|
||||
assertBeanNamesForType(TestBean.class, true, false, "x1");
|
||||
assertThat(lbf.containsSingleton("x1")).isFalse();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
assertThat(lbf.containsBean("&x1")).isFalse();
|
||||
@@ -358,9 +344,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf.registerBeanDefinition("x1", rbd);
|
||||
|
||||
TestBeanFactory.initialized = false;
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(1);
|
||||
assertThat(beanNames[0]).isEqualTo("x1");
|
||||
assertBeanNamesForType(TestBean.class, true, false, "x1");
|
||||
assertThat(lbf.containsSingleton("x1")).isFalse();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
assertThat(lbf.containsBean("&x1")).isFalse();
|
||||
@@ -385,9 +369,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf.registerBeanDefinition("x1", rbd);
|
||||
|
||||
TestBeanFactory.initialized = false;
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(1);
|
||||
assertThat(beanNames[0]).isEqualTo("x1");
|
||||
assertBeanNamesForType(TestBean.class, true, false, "x1");
|
||||
assertThat(lbf.containsSingleton("x1")).isFalse();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
assertThat(lbf.containsBean("&x1")).isFalse();
|
||||
@@ -413,9 +395,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf.registerBeanDefinition("x1", rbd);
|
||||
|
||||
TestBeanFactory.initialized = false;
|
||||
String[] beanNames = lbf.getBeanNamesForType(TestBean.class, true, false);
|
||||
assertThat(beanNames).hasSize(1);
|
||||
assertThat(beanNames[0]).isEqualTo("x1");
|
||||
assertBeanNamesForType(TestBean.class, true, false, "x1");
|
||||
assertThat(lbf.containsSingleton("x1")).isFalse();
|
||||
assertThat(lbf.containsBean("x1")).isTrue();
|
||||
assertThat(lbf.containsBean("&x1")).isFalse();
|
||||
@@ -448,14 +428,10 @@ class DefaultListableBeanFactoryTests {
|
||||
assertThat(lbf.isTypeMatch("&x2", Object.class)).isFalse();
|
||||
assertThat(lbf.getType("x2")).isEqualTo(TestBean.class);
|
||||
assertThat(lbf.getType("&x2")).isNull();
|
||||
assertThat(lbf.getAliases("x1").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("x1")[0]).isEqualTo("x2");
|
||||
assertThat(lbf.getAliases("&x1").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("&x1")[0]).isEqualTo("&x2");
|
||||
assertThat(lbf.getAliases("x2").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("x2")[0]).isEqualTo("x1");
|
||||
assertThat(lbf.getAliases("&x2").length).isEqualTo(1);
|
||||
assertThat(lbf.getAliases("&x2")[0]).isEqualTo("&x1");
|
||||
assertThat(lbf.getAliases("x1")).containsExactly("x2");
|
||||
assertThat(lbf.getAliases("&x1")).containsExactly("&x2");
|
||||
assertThat(lbf.getAliases("x2")).containsExactly("x1");
|
||||
assertThat(lbf.getAliases("&x2")).containsExactly("&x1");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -619,8 +595,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf.registerSingleton("string", "A");
|
||||
|
||||
TestBean self = (TestBean) lbf.getBean("self");
|
||||
assertThat(self.getStringArray()).hasSize(1);
|
||||
assertThat(self.getStringArray()).contains("A");
|
||||
assertThat(self.getStringArray()).containsExactly("A");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -633,8 +608,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf.registerSingleton("string", "A");
|
||||
|
||||
TestBean self = (TestBean) lbf.getBean("self");
|
||||
assertThat(self.getStringArray()).hasSize(1);
|
||||
assertThat(self.getStringArray()).contains("A");
|
||||
assertThat(self.getStringArray()).containsExactly("A");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -666,8 +640,7 @@ class DefaultListableBeanFactoryTests {
|
||||
.withCauseInstanceOf(NotWritablePropertyException.class)
|
||||
.satisfies(ex -> {
|
||||
NotWritablePropertyException cause = (NotWritablePropertyException) ex.getCause();
|
||||
assertThat(cause.getPossibleMatches()).hasSize(1);
|
||||
assertThat(cause.getPossibleMatches()[0]).isEqualTo("age");
|
||||
assertThat(cause.getPossibleMatches()).containsExactly("age");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -685,7 +658,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf = new DefaultListableBeanFactory();
|
||||
p = new Properties();
|
||||
p.setProperty("kerry.(class)", TestBean.class.getName());
|
||||
p.setProperty("kerry.(scope)", "prototype");
|
||||
p.setProperty("kerry.(scope)", BeanDefinition.SCOPE_PROTOTYPE);
|
||||
p.setProperty("kerry.age", "35");
|
||||
registerBeanDefinitions(p);
|
||||
kerry1 = (TestBean) lbf.getBean("kerry");
|
||||
@@ -1145,7 +1118,7 @@ class DefaultListableBeanFactoryTests {
|
||||
assertThat(lbf.containsBean("singletonObject")).isTrue();
|
||||
assertThat(lbf.isSingleton("singletonObject")).isTrue();
|
||||
assertThat(lbf.getType("singletonObject")).isEqualTo(TestBean.class);
|
||||
assertThat(lbf.getAliases("singletonObject").length).isEqualTo(0);
|
||||
assertThat(lbf.getAliases("singletonObject")).isEmpty();
|
||||
DependenciesBean test = (DependenciesBean) lbf.getBean("test");
|
||||
assertThat(lbf.getBean("singletonObject")).isEqualTo(singletonObject);
|
||||
assertThat(test.getSpouse()).isEqualTo(singletonObject);
|
||||
@@ -1791,12 +1764,12 @@ class DefaultListableBeanFactoryTests {
|
||||
assertThat(bean.beanName).isEqualTo("bd1");
|
||||
assertThat(bean.spouseAge).isEqualTo(42);
|
||||
|
||||
assertThat(lbf.getBeanNamesForType(ConstructorDependency.class).length).isEqualTo(1);
|
||||
assertThat(lbf.getBeanNamesForType(ConstructorDependencyFactoryBean.class).length).isEqualTo(1);
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class)).length).isEqualTo(1);
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, String.class)).length).isEqualTo(0);
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class), true, true).length).isEqualTo(1);
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, String.class), true, true).length).isEqualTo(0);
|
||||
assertThat(lbf.getBeanNamesForType(ConstructorDependency.class)).hasSize(1);
|
||||
assertThat(lbf.getBeanNamesForType(ConstructorDependencyFactoryBean.class)).hasSize(1);
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class))).hasSize(1);
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, String.class))).isEmpty();
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class), true, true)).hasSize(1);
|
||||
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, String.class), true, true)).isEmpty();
|
||||
}
|
||||
|
||||
private RootBeanDefinition createConstructorDependencyBeanDefinition(int age) {
|
||||
@@ -1861,46 +1834,29 @@ class DefaultListableBeanFactoryTests {
|
||||
|
||||
@Test
|
||||
void getBeanNamesForTypeBeforeFactoryBeanCreation() {
|
||||
FactoryBeanThatShouldntBeCalled.instantiated = false;
|
||||
lbf.registerBeanDefinition("factoryBean", new RootBeanDefinition(FactoryBeanThatShouldntBeCalled.class));
|
||||
assertThat(lbf.containsSingleton("factoryBean")).isFalse();
|
||||
assertThat(FactoryBeanThatShouldntBeCalled.instantiated).isFalse();
|
||||
|
||||
String[] beanNames = lbf.getBeanNamesForType(Runnable.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
|
||||
beanNames = lbf.getBeanNamesForType(Callable.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
|
||||
beanNames = lbf.getBeanNamesForType(RepositoryFactoryInformation.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
|
||||
beanNames = lbf.getBeanNamesForType(FactoryBean.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
assertBeanNamesForType(Runnable.class, false, false, "&factoryBean");
|
||||
assertBeanNamesForType(Callable.class, false, false, "&factoryBean");
|
||||
assertBeanNamesForType(RepositoryFactoryInformation.class, false, false, "&factoryBean");
|
||||
assertBeanNamesForType(FactoryBean.class, false, false, "&factoryBean");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getBeanNamesForTypeAfterFactoryBeanCreation() {
|
||||
FactoryBeanThatShouldntBeCalled.instantiated = false;
|
||||
lbf.registerBeanDefinition("factoryBean", new RootBeanDefinition(FactoryBeanThatShouldntBeCalled.class));
|
||||
lbf.getBean("&factoryBean");
|
||||
assertThat(FactoryBeanThatShouldntBeCalled.instantiated).isTrue();
|
||||
assertThat(lbf.containsSingleton("factoryBean")).isTrue();
|
||||
|
||||
String[] beanNames = lbf.getBeanNamesForType(Runnable.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
|
||||
beanNames = lbf.getBeanNamesForType(Callable.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
|
||||
beanNames = lbf.getBeanNamesForType(RepositoryFactoryInformation.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
|
||||
beanNames = lbf.getBeanNamesForType(FactoryBean.class, false, false);
|
||||
assertThat(beanNames.length).isEqualTo(1);
|
||||
assertThat(beanNames[0]).isEqualTo("&factoryBean");
|
||||
assertBeanNamesForType(Runnable.class, false, false, "&factoryBean");
|
||||
assertBeanNamesForType(Callable.class, false, false, "&factoryBean");
|
||||
assertBeanNamesForType(RepositoryFactoryInformation.class, false, false, "&factoryBean");
|
||||
assertBeanNamesForType(FactoryBean.class, false, false, "&factoryBean");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2165,8 +2121,7 @@ class DefaultListableBeanFactoryTests {
|
||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorDependencyBean.class);
|
||||
bd.setAutowireMode(RootBeanDefinition.AUTOWIRE_CONSTRUCTOR);
|
||||
lbf.registerBeanDefinition("test", bd);
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(
|
||||
lbf::preInstantiateSingletons);
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(lbf::preInstantiateSingletons);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -2174,8 +2129,7 @@ class DefaultListableBeanFactoryTests {
|
||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorDependencyFactoryBean.class);
|
||||
bd.setAutowireMode(RootBeanDefinition.AUTOWIRE_CONSTRUCTOR);
|
||||
lbf.registerBeanDefinition("test", bd);
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(
|
||||
lbf::preInstantiateSingletons);
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(lbf::preInstantiateSingletons);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -2183,8 +2137,7 @@ class DefaultListableBeanFactoryTests {
|
||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorDependencyFactoryBean.class);
|
||||
bd.setAutowireMode(RootBeanDefinition.AUTOWIRE_CONSTRUCTOR);
|
||||
lbf.registerBeanDefinition("test", bd);
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() ->
|
||||
lbf.getBeansOfType(String.class));
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() -> lbf.getBeansOfType(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -2211,8 +2164,7 @@ class DefaultListableBeanFactoryTests {
|
||||
RootBeanDefinition bd = new RootBeanDefinition(ConstructorDependencyWithClassResolution.class);
|
||||
bd.getConstructorArgumentValues().addGenericArgumentValue("java.lang.Strin");
|
||||
lbf.registerBeanDefinition("test", bd);
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(
|
||||
lbf::preInstantiateSingletons);
|
||||
assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(lbf::preInstantiateSingletons);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -2236,7 +2188,13 @@ class DefaultListableBeanFactoryTests {
|
||||
@Test
|
||||
void prototypeFactoryBeanNotEagerlyCalled() {
|
||||
lbf.registerBeanDefinition("test", new RootBeanDefinition(FactoryBeanThatShouldntBeCalled.class));
|
||||
lbf.preInstantiateSingletons();
|
||||
assertThatNoException().isThrownBy(lbf::preInstantiateSingletons);
|
||||
}
|
||||
|
||||
@Test
|
||||
void prototypeFactoryBeanNotEagerlyCalledInCaseOfBeanClassName() {
|
||||
lbf.registerBeanDefinition("test", new RootBeanDefinition(FactoryBeanThatShouldntBeCalled.class.getName(), null, null));
|
||||
assertThatNoException().isThrownBy(lbf::preInstantiateSingletons);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -2276,13 +2234,6 @@ class DefaultListableBeanFactoryTests {
|
||||
assertThat(factory.initialized).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void prototypeFactoryBeanNotEagerlyCalledInCaseOfBeanClassName() {
|
||||
lbf.registerBeanDefinition("test",
|
||||
new RootBeanDefinition(FactoryBeanThatShouldntBeCalled.class.getName(), null, null));
|
||||
lbf.preInstantiateSingletons();
|
||||
}
|
||||
|
||||
@Test
|
||||
void prototypeStringCreatedRepeatedly() {
|
||||
RootBeanDefinition stringDef = new RootBeanDefinition(String.class);
|
||||
@@ -2462,10 +2413,7 @@ class DefaultListableBeanFactoryTests {
|
||||
lbf.registerBeanDefinition("fmWithArgs", factoryMethodDefinitionWithArgs);
|
||||
|
||||
assertThat(lbf.getBeanDefinitionCount()).isEqualTo(4);
|
||||
List<String> tbNames = Arrays.asList(lbf.getBeanNamesForType(TestBean.class));
|
||||
assertThat(tbNames.contains("fmWithProperties")).isTrue();
|
||||
assertThat(tbNames.contains("fmWithArgs")).isTrue();
|
||||
assertThat(tbNames.size()).isEqualTo(2);
|
||||
assertBeanNamesForType(TestBean.class, true, true, "fmWithProperties", "fmWithArgs");
|
||||
|
||||
TestBean tb = (TestBean) lbf.getBean("fmWithProperties");
|
||||
TestBean second = (TestBean) lbf.getBean("fmWithProperties");
|
||||
@@ -2669,6 +2617,19 @@ class DefaultListableBeanFactoryTests {
|
||||
return (new org.springframework.beans.factory.support.PropertiesBeanDefinitionReader(lbf)).registerBeanDefinitions(p, prefix);
|
||||
}
|
||||
|
||||
private void assertBeanNamesForType(Class<?> type, boolean includeNonSingletons, boolean allowEagerInit, String... names) {
|
||||
if (names.length == 0) {
|
||||
assertThat(lbf.getBeanNamesForType(type, includeNonSingletons, allowEagerInit))
|
||||
.as("bean names for type " + type.getName())
|
||||
.isEmpty();
|
||||
}
|
||||
else {
|
||||
assertThat(lbf.getBeanNamesForType(type, includeNonSingletons, allowEagerInit))
|
||||
.as("bean names for type " + type.getName())
|
||||
.containsExactly(names);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static class NoDependencies {
|
||||
|
||||
@@ -2859,6 +2820,12 @@ class DefaultListableBeanFactoryTests {
|
||||
public static class FactoryBeanThatShouldntBeCalled<T extends Repository<S, ID>, S, ID extends Serializable>
|
||||
extends RepositoryFactoryBeanSupport<T, S, ID> implements Runnable, Callable<T> {
|
||||
|
||||
static boolean instantiated = false;
|
||||
|
||||
{
|
||||
instantiated = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T getObject() {
|
||||
throw new IllegalStateException();
|
||||
|
||||
Reference in New Issue
Block a user