diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java index 9c3cb63f43..f88b9a6387 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessorTests.java @@ -124,11 +124,11 @@ public class AutowiredAnnotationBeanPostProcessorTests { TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); - ResourceInjectionBean bean = (ResourceInjectionBean) bf.getBean("annotatedBean"); + ResourceInjectionBean bean = bf.getBean("annotatedBean", ResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); - bean = (ResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); } @@ -142,12 +142,13 @@ public class AutowiredAnnotationBeanPostProcessorTests { tb.setFactoryMethodName("createTestBean"); bf.registerBeanDefinition("testBean", tb); - NonPublicResourceInjectionBean bean = (NonPublicResourceInjectionBean) bf.getBean("annotatedBean"); + @SuppressWarnings("rawtypes") + NonPublicResourceInjectionBean bean = bf.getBean("annotatedBean", NonPublicResourceInjectionBean.class); assertThat(bean.getTestBean()).isNull(); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isNull(); - bean = (NonPublicResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", NonPublicResourceInjectionBean.class); assertThat(bean.getTestBean()).isNull(); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isNull(); @@ -163,7 +164,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb = new NestedTestBean(); bf.registerSingleton("nestedTestBean", ntb); - TypedExtendedResourceInjectionBean bean = (TypedExtendedResourceInjectionBean) bf.getBean("annotatedBean"); + TypedExtendedResourceInjectionBean bean = bf.getBean("annotatedBean", TypedExtendedResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -171,7 +172,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { assertThat(bean.getNestedTestBean()).isSameAs(ntb); assertThat(bean.getBeanFactory()).isSameAs(bf); - bean = (TypedExtendedResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", TypedExtendedResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -193,7 +194,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("nestedTestBean", ntb); TestBean tb = bf.getBean("testBean", TestBean.class); - TypedExtendedResourceInjectionBean bean = (TypedExtendedResourceInjectionBean) bf.getBean("annotatedBean"); + TypedExtendedResourceInjectionBean bean = bf.getBean("annotatedBean", TypedExtendedResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -220,7 +221,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb = new NestedTestBean(); bf.registerSingleton("nestedTestBean", ntb); - TypedExtendedResourceInjectionBean bean = (TypedExtendedResourceInjectionBean) bf.getBean("annotatedBean"); + TypedExtendedResourceInjectionBean bean = bf.getBean("annotatedBean", TypedExtendedResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb2); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -238,7 +239,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb = new NestedTestBean(); bf.registerSingleton("nestedTestBean", ntb); - OverriddenExtendedResourceInjectionBean bean = (OverriddenExtendedResourceInjectionBean) bf.getBean("annotatedBean"); + OverriddenExtendedResourceInjectionBean bean = bf.getBean("annotatedBean", OverriddenExtendedResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -258,7 +259,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb = new NestedTestBean(); bf.registerSingleton("nestedTestBean", ntb); - DefaultMethodResourceInjectionBean bean = (DefaultMethodResourceInjectionBean) bf.getBean("annotatedBean"); + DefaultMethodResourceInjectionBean bean = bf.getBean("annotatedBean", DefaultMethodResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -281,7 +282,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb = new NestedTestBean(); bf.registerSingleton("nestedTestBean", ntb); - TypedExtendedResourceInjectionBean bean = (TypedExtendedResourceInjectionBean) bf.getBean("annotatedBean"); + TypedExtendedResourceInjectionBean bean = bf.getBean("annotatedBean", TypedExtendedResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -302,7 +303,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb2 = new NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -330,7 +331,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb2 = new NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -345,7 +346,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.destroySingleton("testBean"); - bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isNull(); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isNull(); @@ -360,7 +361,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("testBean", tb); - bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -387,7 +388,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb2 = new NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); assertThat(bean.getTestBean2()).isSameAs(bf.getBean("testBean")); assertThat(bean.getTestBean3()).isSameAs(bf.getBean("testBean")); @@ -402,7 +403,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.removeBeanDefinition("testBean"); - bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isNull(); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isNull(); @@ -417,7 +418,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); - bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); assertThat(bean.getTestBean2()).isSameAs(bf.getBean("testBean")); assertThat(bean.getTestBean3()).isSameAs(bf.getBean("testBean")); @@ -446,8 +447,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("nestedTestBean2", ntb2); // Two calls to verify that caching doesn't break re-creation. - OptionalCollectionResourceInjectionBean bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); - bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalCollectionResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); + bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -477,8 +478,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("nestedTestBean1", ntb1); // Two calls to verify that caching doesn't break re-creation. - OptionalCollectionResourceInjectionBean bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); - bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalCollectionResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); + bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -498,7 +499,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); - OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -510,7 +511,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { public void testOptionalResourceInjectionWithNoDependencies() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(OptionalResourceInjectionBean.class)); - OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isNull(); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isNull(); @@ -532,7 +533,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { ntb2.setOrder(1); bf.registerSingleton("nestedTestBean2", ntb2); - OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -558,7 +559,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - OptionalResourceInjectionBean bean = (OptionalResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -589,8 +590,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("nestedTestBean2", ntb2); // Two calls to verify that caching doesn't break re-creation. - OptionalCollectionResourceInjectionBean bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); - bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalCollectionResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); + bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -622,8 +623,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("nestedTestBean2", ntb2); // Two calls to verify that caching doesn't break re-creation. - OptionalCollectionResourceInjectionBean bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); - bean = (OptionalCollectionResourceInjectionBean) bf.getBean("annotatedBean"); + OptionalCollectionResourceInjectionBean bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); + bean = bf.getBean("annotatedBean", OptionalCollectionResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -650,7 +651,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb = new NestedTestBean(); bf.registerSingleton("nestedTestBean", ntb); - ConstructorResourceInjectionBean bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -658,7 +659,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { assertThat(bean.getNestedTestBean()).isSameAs(ntb); assertThat(bean.getBeanFactory()).isSameAs(bf); - bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -677,7 +678,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb = new NestedTestBean(); bf.registerSingleton("nestedTestBean", ntb); - ConstructorResourceInjectionBean bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -687,7 +688,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.destroySingleton("nestedTestBean"); - bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -697,7 +698,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("nestedTestBean", ntb); - bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -715,7 +716,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("testBean", tb); bf.registerBeanDefinition("nestedTestBean", new RootBeanDefinition(NestedTestBean.class)); - ConstructorResourceInjectionBean bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -725,7 +726,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.removeBeanDefinition("nestedTestBean"); - bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -735,7 +736,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("nestedTestBean", new RootBeanDefinition(NestedTestBean.class)); - bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -754,7 +755,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("nestedTestBean", new RootBeanDefinition(NullNestedTestBeanFactoryBean.class)); bf.registerSingleton("nestedTestBean2", new NestedTestBean()); - ConstructorResourceInjectionBean bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -762,7 +763,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { assertThat(bean.getNestedTestBean()).isNull(); assertThat(bean.getBeanFactory()).isSameAs(bf); - bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getTestBean2()).isSameAs(tb); assertThat(bean.getTestBean3()).isSameAs(tb); @@ -784,7 +785,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("nestedTestBean", ntb); bf.registerSingleton("nestedTestBean2", new NestedTestBean()); - ConstructorResourceInjectionBean bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isNull(); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isNull(); @@ -792,7 +793,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { assertThat(bean.getNestedTestBean()).isNull(); assertThat(bean.getBeanFactory()).isSameAs(bf); - bean = (ConstructorResourceInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", ConstructorResourceInjectionBean.class); assertThat(bean.getTestBean()).isNull(); assertThat(bean.getTestBean2()).isNull(); assertThat(bean.getTestBean3()).isNull(); @@ -811,7 +812,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb2 = new NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - ConstructorsResourceInjectionBean bean = (ConstructorsResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorsResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorsResourceInjectionBean.class); assertThat(bean.getTestBean3()).isNull(); assertThat(bean.getTestBean4()).isSameAs(tb); assertThat(bean.getNestedTestBeans().length).isEqualTo(2); @@ -822,8 +823,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { @Test public void testConstructorResourceInjectionWithNoCandidatesAndNoFallback() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorWithoutFallbackBean.class)); - assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() -> - bf.getBean("annotatedBean")) + assertThatExceptionOfType(UnsatisfiedDependencyException.class) + .isThrownBy(() -> bf.getBean("annotatedBean")) .satisfies(methodParameterDeclaredOn(ConstructorWithoutFallbackBean.class)); } @@ -837,7 +838,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb2 = new NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - ConstructorsCollectionResourceInjectionBean bean = (ConstructorsCollectionResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorsCollectionResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorsCollectionResourceInjectionBean.class); assertThat(bean.getTestBean3()).isNull(); assertThat(bean.getTestBean4()).isSameAs(tb); assertThat(bean.getNestedTestBeans().size()).isEqualTo(1); @@ -859,7 +860,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { NestedTestBean ntb2 = new NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - ConstructorsCollectionResourceInjectionBean bean = (ConstructorsCollectionResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorsCollectionResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorsCollectionResourceInjectionBean.class); assertThat(bean.getTestBean3()).isNull(); assertThat(bean.getTestBean4()).isSameAs(tb); assertThat(bean.getNestedTestBeans().size()).isEqualTo(2); @@ -877,7 +878,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - ConstructorsResourceInjectionBean bean = (ConstructorsResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorsResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorsResourceInjectionBean.class); assertThat(bean.getTestBean3()).isNull(); assertThat(bean.getTestBean4()).isSameAs(tb); assertThat(bean.getNestedTestBeans().length).isEqualTo(2); @@ -895,7 +896,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - ConstructorsCollectionResourceInjectionBean bean = (ConstructorsCollectionResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorsCollectionResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorsCollectionResourceInjectionBean.class); assertThat(bean.getTestBean3()).isNull(); assertThat(bean.getTestBean4()).isSameAs(tb); assertThat(bean.getNestedTestBeans().size()).isEqualTo(2); @@ -913,7 +914,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - SingleConstructorVarargBean bean = (SingleConstructorVarargBean) bf.getBean("annotatedBean"); + SingleConstructorVarargBean bean = bf.getBean("annotatedBean", SingleConstructorVarargBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getNestedTestBeans().size()).isEqualTo(2); assertThat(bean.getNestedTestBeans().get(0)).isSameAs(ntb2); @@ -926,7 +927,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); - SingleConstructorVarargBean bean = (SingleConstructorVarargBean) bf.getBean("annotatedBean"); + SingleConstructorVarargBean bean = bf.getBean("annotatedBean", SingleConstructorVarargBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getNestedTestBeans()).isNotNull(); assertThat(bean.getNestedTestBeans().isEmpty()).isTrue(); @@ -942,7 +943,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - SingleConstructorRequiredCollectionBean bean = (SingleConstructorRequiredCollectionBean) bf.getBean("annotatedBean"); + SingleConstructorRequiredCollectionBean bean = bf.getBean("annotatedBean", SingleConstructorRequiredCollectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getNestedTestBeans().size()).isEqualTo(2); assertThat(bean.getNestedTestBeans().get(0)).isSameAs(ntb2); @@ -955,7 +956,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); - SingleConstructorRequiredCollectionBean bean = (SingleConstructorRequiredCollectionBean) bf.getBean("annotatedBean"); + SingleConstructorRequiredCollectionBean bean = bf.getBean("annotatedBean", SingleConstructorRequiredCollectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getNestedTestBeans()).isNotNull(); assertThat(bean.getNestedTestBeans().isEmpty()).isTrue(); @@ -971,7 +972,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { FixedOrder1NestedTestBean ntb2 = new FixedOrder1NestedTestBean(); bf.registerSingleton("nestedTestBean2", ntb2); - SingleConstructorOptionalCollectionBean bean = (SingleConstructorOptionalCollectionBean) bf.getBean("annotatedBean"); + SingleConstructorOptionalCollectionBean bean = bf.getBean("annotatedBean", SingleConstructorOptionalCollectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getNestedTestBeans().size()).isEqualTo(2); assertThat(bean.getNestedTestBeans().get(0)).isSameAs(ntb2); @@ -984,7 +985,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); - SingleConstructorOptionalCollectionBean bean = (SingleConstructorOptionalCollectionBean) bf.getBean("annotatedBean"); + SingleConstructorOptionalCollectionBean bean = bf.getBean("annotatedBean", SingleConstructorOptionalCollectionBean.class); assertThat(bean.getTestBean()).isSameAs(tb); assertThat(bean.getNestedTestBeans()).isNull(); } @@ -992,8 +993,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { @Test public void testSingleConstructorInjectionWithMissingDependency() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SingleConstructorOptionalCollectionBean.class)); - assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() -> - bf.getBean("annotatedBean")); + assertThatExceptionOfType(UnsatisfiedDependencyException.class) + .isThrownBy(() -> bf.getBean("annotatedBean")); } @Test @@ -1002,8 +1003,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { RootBeanDefinition tb = new RootBeanDefinition(NullFactoryMethods.class); tb.setFactoryMethodName("createTestBean"); bf.registerBeanDefinition("testBean", tb); - assertThatExceptionOfType(UnsatisfiedDependencyException.class).isThrownBy(() -> - bf.getBean("annotatedBean")); + assertThatExceptionOfType(UnsatisfiedDependencyException.class) + .isThrownBy(() -> bf.getBean("annotatedBean")); } @Test @@ -1012,7 +1013,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); - ConstructorsResourceInjectionBean bean = (ConstructorsResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorsResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorsResourceInjectionBean.class); assertThat(bean.getTestBean3()).isSameAs(tb); assertThat(bean.getTestBean4()).isNull(); } @@ -1021,7 +1022,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { public void testConstructorResourceInjectionWithMultipleCandidatesAndDefaultFallback() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ConstructorsResourceInjectionBean.class)); - ConstructorsResourceInjectionBean bean = (ConstructorsResourceInjectionBean) bf.getBean("annotatedBean"); + ConstructorsResourceInjectionBean bean = bf.getBean("annotatedBean", ConstructorsResourceInjectionBean.class); assertThat(bean.getTestBean3()).isNull(); assertThat(bean.getTestBean4()).isNull(); } @@ -1037,12 +1038,12 @@ public class AutowiredAnnotationBeanPostProcessorTests { tb2.setFactoryMethodName("createTestBean"); bf.registerBeanDefinition("testBean2", tb2); - MapConstructorInjectionBean bean = (MapConstructorInjectionBean) bf.getBean("annotatedBean"); + MapConstructorInjectionBean bean = bf.getBean("annotatedBean", MapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap().size()).isEqualTo(1); assertThat(bean.getTestBeanMap().get("testBean1")).isSameAs(tb1); assertThat(bean.getTestBeanMap().get("testBean2")).isNull(); - bean = (MapConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", MapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap().size()).isEqualTo(1); assertThat(bean.getTestBeanMap().get("testBean1")).isSameAs(tb1); assertThat(bean.getTestBeanMap().get("testBean2")).isNull(); @@ -1058,14 +1059,14 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("testBean1", tb1); bf.registerSingleton("testBean2", tb2); - MapFieldInjectionBean bean = (MapFieldInjectionBean) bf.getBean("annotatedBean"); + MapFieldInjectionBean bean = bf.getBean("annotatedBean", MapFieldInjectionBean.class); assertThat(bean.getTestBeanMap().size()).isEqualTo(2); assertThat(bean.getTestBeanMap().keySet().contains("testBean1")).isTrue(); assertThat(bean.getTestBeanMap().keySet().contains("testBean2")).isTrue(); assertThat(bean.getTestBeanMap().values().contains(tb1)).isTrue(); assertThat(bean.getTestBeanMap().values().contains(tb2)).isTrue(); - bean = (MapFieldInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", MapFieldInjectionBean.class); assertThat(bean.getTestBeanMap().size()).isEqualTo(2); assertThat(bean.getTestBeanMap().keySet().contains("testBean1")).isTrue(); assertThat(bean.getTestBeanMap().keySet().contains("testBean2")).isTrue(); @@ -1081,13 +1082,13 @@ public class AutowiredAnnotationBeanPostProcessorTests { TestBean tb = new TestBean(); bf.registerSingleton("testBean", tb); - MapMethodInjectionBean bean = (MapMethodInjectionBean) bf.getBean("annotatedBean"); + MapMethodInjectionBean bean = bf.getBean("annotatedBean", MapMethodInjectionBean.class); assertThat(bean.getTestBeanMap().size()).isEqualTo(1); assertThat(bean.getTestBeanMap().keySet().contains("testBean")).isTrue(); assertThat(bean.getTestBeanMap().values().contains(tb)).isTrue(); assertThat(bean.getTestBean()).isSameAs(tb); - bean = (MapMethodInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", MapMethodInjectionBean.class); assertThat(bean.getTestBeanMap().size()).isEqualTo(1); assertThat(bean.getTestBeanMap().keySet().contains("testBean")).isTrue(); assertThat(bean.getTestBeanMap().values().contains(tb)).isTrue(); @@ -1099,9 +1100,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(MapMethodInjectionBean.class)); bf.registerBeanDefinition("testBean1", new RootBeanDefinition(TestBean.class)); bf.registerBeanDefinition("testBean2", new RootBeanDefinition(TestBean.class)); - assertThatExceptionOfType(UnsatisfiedDependencyException.class).as("should have failed, more than one bean of type").isThrownBy(() -> - bf.getBean("annotatedBean")) - .satisfies(methodParameterDeclaredOn(MapMethodInjectionBean.class)); + assertThatExceptionOfType(UnsatisfiedDependencyException.class).as("should have failed, more than one bean of type") + .isThrownBy(() -> bf.getBean("annotatedBean")) + .satisfies(methodParameterDeclaredOn(MapMethodInjectionBean.class)); } @Test @@ -1112,8 +1113,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { rbd2.setAutowireCandidate(false); bf.registerBeanDefinition("testBean2", rbd2); - MapMethodInjectionBean bean = (MapMethodInjectionBean) bf.getBean("annotatedBean"); - TestBean tb = (TestBean) bf.getBean("testBean1"); + MapMethodInjectionBean bean = bf.getBean("annotatedBean", MapMethodInjectionBean.class); + TestBean tb = bf.getBean("testBean1", TestBean.class); assertThat(bean.getTestBeanMap().size()).isEqualTo(1); assertThat(bean.getTestBeanMap().keySet().contains("testBean1")).isTrue(); assertThat(bean.getTestBeanMap().values().contains(tb)).isTrue(); @@ -1124,7 +1125,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { public void testMethodInjectionWithMapAndNoMatches() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(MapMethodInjectionBean.class)); - MapMethodInjectionBean bean = (MapMethodInjectionBean) bf.getBean("annotatedBean"); + MapMethodInjectionBean bean = bf.getBean("annotatedBean", MapMethodInjectionBean.class); assertThat(bean.getTestBeanMap()).isNull(); assertThat(bean.getTestBean()).isNull(); } @@ -1140,9 +1141,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("testBeans", tbm); bf.registerSingleton("otherMap", new Properties()); - MapConstructorInjectionBean bean = (MapConstructorInjectionBean) bf.getBean("annotatedBean"); + MapConstructorInjectionBean bean = bf.getBean("annotatedBean", MapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(tbm); - bean = (MapConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", MapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(tbm); } @@ -1156,9 +1157,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("myTestBeanMap", tbm); bf.registerSingleton("otherMap", new HashMap<>()); - MapConstructorInjectionBean bean = (MapConstructorInjectionBean) bf.getBean("annotatedBean"); + MapConstructorInjectionBean bean = bf.getBean("annotatedBean", MapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(bf.getBean("myTestBeanMap")); - bean = (MapConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", MapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(bf.getBean("myTestBeanMap")); } @@ -1173,9 +1174,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("testBean1", new TestBean()); bf.registerSingleton("testBean2", new TestBean()); - CustomMapConstructorInjectionBean bean = (CustomMapConstructorInjectionBean) bf.getBean("annotatedBean"); + CustomMapConstructorInjectionBean bean = bf.getBean("annotatedBean", CustomMapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(bf.getBean("myTestBeanMap")); - bean = (CustomMapConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", CustomMapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(bf.getBean("myTestBeanMap")); } @@ -1186,9 +1187,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", bd); bf.registerBeanDefinition("myTestBeanMap", new RootBeanDefinition(HashMap.class)); - QualifiedMapConstructorInjectionBean bean = (QualifiedMapConstructorInjectionBean) bf.getBean("annotatedBean"); + QualifiedMapConstructorInjectionBean bean = bf.getBean("annotatedBean", QualifiedMapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(bf.getBean("myTestBeanMap")); - bean = (QualifiedMapConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", QualifiedMapConstructorInjectionBean.class); assertThat(bean.getTestBeanMap()).isSameAs(bf.getBean("myTestBeanMap")); } @@ -1203,9 +1204,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("testBeans", tbs); bf.registerSingleton("otherSet", new HashSet<>()); - SetConstructorInjectionBean bean = (SetConstructorInjectionBean) bf.getBean("annotatedBean"); + SetConstructorInjectionBean bean = bf.getBean("annotatedBean", SetConstructorInjectionBean.class); assertThat(bean.getTestBeanSet()).isSameAs(tbs); - bean = (SetConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", SetConstructorInjectionBean.class); assertThat(bean.getTestBeanSet()).isSameAs(tbs); } @@ -1219,9 +1220,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("myTestBeanSet", tbs); bf.registerSingleton("otherSet", new HashSet<>()); - SetConstructorInjectionBean bean = (SetConstructorInjectionBean) bf.getBean("annotatedBean"); + SetConstructorInjectionBean bean = bf.getBean("annotatedBean", SetConstructorInjectionBean.class); assertThat(bean.getTestBeanSet()).isSameAs(bf.getBean("myTestBeanSet")); - bean = (SetConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", SetConstructorInjectionBean.class); assertThat(bean.getTestBeanSet()).isSameAs(bf.getBean("myTestBeanSet")); } @@ -1234,9 +1235,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { tbs.setUniqueFactoryMethodName("testBeanSet"); bf.registerBeanDefinition("myTestBeanSet", tbs); - CustomSetConstructorInjectionBean bean = (CustomSetConstructorInjectionBean) bf.getBean("annotatedBean"); + CustomSetConstructorInjectionBean bean = bf.getBean("annotatedBean", CustomSetConstructorInjectionBean.class); assertThat(bean.getTestBeanSet()).isSameAs(bf.getBean("myTestBeanSet")); - bean = (CustomSetConstructorInjectionBean) bf.getBean("annotatedBean"); + bean = bf.getBean("annotatedBean", CustomSetConstructorInjectionBean.class); assertThat(bean.getTestBeanSet()).isSameAs(bf.getBean("myTestBeanSet")); } @@ -1244,7 +1245,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { public void testSelfReference() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionBean.class)); - SelfInjectionBean bean = (SelfInjectionBean) bf.getBean("annotatedBean"); + SelfInjectionBean bean = bf.getBean("annotatedBean", SelfInjectionBean.class); assertThat(bean.reference).isSameAs(bean); assertThat(bean.referenceCollection).isNull(); } @@ -1254,8 +1255,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionBean.class)); bf.registerBeanDefinition("annotatedBean2", new RootBeanDefinition(SelfInjectionBean.class)); - SelfInjectionBean bean = (SelfInjectionBean) bf.getBean("annotatedBean"); - SelfInjectionBean bean2 = (SelfInjectionBean) bf.getBean("annotatedBean2"); + SelfInjectionBean bean = bf.getBean("annotatedBean", SelfInjectionBean.class); + SelfInjectionBean bean2 = bf.getBean("annotatedBean2", SelfInjectionBean.class); assertThat(bean.reference).isSameAs(bean2); assertThat(bean.referenceCollection.size()).isEqualTo(1); assertThat(bean.referenceCollection.get(0)).isSameAs(bean2); @@ -1265,7 +1266,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { public void testSelfReferenceCollection() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionCollectionBean.class)); - SelfInjectionCollectionBean bean = (SelfInjectionCollectionBean) bf.getBean("annotatedBean"); + SelfInjectionCollectionBean bean = bf.getBean("annotatedBean", SelfInjectionCollectionBean.class); assertThat(bean.reference).isSameAs(bean); assertThat(bean.referenceCollection).isNull(); } @@ -1275,8 +1276,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(SelfInjectionCollectionBean.class)); bf.registerBeanDefinition("annotatedBean2", new RootBeanDefinition(SelfInjectionCollectionBean.class)); - SelfInjectionCollectionBean bean = (SelfInjectionCollectionBean) bf.getBean("annotatedBean"); - SelfInjectionCollectionBean bean2 = (SelfInjectionCollectionBean) bf.getBean("annotatedBean2"); + SelfInjectionCollectionBean bean = bf.getBean("annotatedBean", SelfInjectionCollectionBean.class); + SelfInjectionCollectionBean bean2 = bf.getBean("annotatedBean2", SelfInjectionCollectionBean.class); assertThat(bean.reference).isSameAs(bean2); assertThat(bean2.referenceCollection.size()).isSameAs(1); assertThat(bean.referenceCollection.get(0)).isSameAs(bean2); @@ -1287,7 +1288,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectFactoryFieldInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); - ObjectFactoryFieldInjectionBean bean = (ObjectFactoryFieldInjectionBean) bf.getBean("annotatedBean"); + ObjectFactoryFieldInjectionBean bean = bf.getBean("annotatedBean", ObjectFactoryFieldInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); } @@ -1296,7 +1297,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectFactoryConstructorInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); - ObjectFactoryConstructorInjectionBean bean = (ObjectFactoryConstructorInjectionBean) bf.getBean("annotatedBean"); + ObjectFactoryConstructorInjectionBean bean = bf.getBean("annotatedBean", ObjectFactoryConstructorInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); } @@ -1307,9 +1308,9 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", annotatedBeanDefinition); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); - ObjectFactoryFieldInjectionBean bean = (ObjectFactoryFieldInjectionBean) bf.getBean("annotatedBean"); + ObjectFactoryFieldInjectionBean bean = bf.getBean("annotatedBean", ObjectFactoryFieldInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); - ObjectFactoryFieldInjectionBean anotherBean = (ObjectFactoryFieldInjectionBean) bf.getBean("annotatedBean"); + ObjectFactoryFieldInjectionBean anotherBean = bf.getBean("annotatedBean", ObjectFactoryFieldInjectionBean.class); assertThat(bean).isNotSameAs(anotherBean); assertThat(anotherBean.getTestBean()).isSameAs(bf.getBean("testBean")); } @@ -1322,7 +1323,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("dependencyBean", bd); bf.registerBeanDefinition("dependencyBean2", new RootBeanDefinition(TestBean.class)); - ObjectFactoryQualifierInjectionBean bean = (ObjectFactoryQualifierInjectionBean) bf.getBean("annotatedBean"); + ObjectFactoryQualifierInjectionBean bean = bf.getBean("annotatedBean", ObjectFactoryQualifierInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("dependencyBean")); } @@ -1334,7 +1335,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("dependencyBean", bd); bf.registerBeanDefinition("dependencyBean2", new RootBeanDefinition(TestBean.class)); - ObjectFactoryQualifierInjectionBean bean = (ObjectFactoryQualifierInjectionBean) bf.getBean("annotatedBean"); + ObjectFactoryQualifierInjectionBean bean = bf.getBean("annotatedBean", ObjectFactoryQualifierInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("dependencyBean")); } @@ -1344,7 +1345,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); bf.setSerializationId("test"); - ObjectFactoryFieldInjectionBean bean = (ObjectFactoryFieldInjectionBean) bf.getBean("annotatedBean"); + ObjectFactoryFieldInjectionBean bean = bf.getBean("annotatedBean", ObjectFactoryFieldInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); bean = SerializationTestUtils.serializeAndDeserialize(bean); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); @@ -1357,7 +1358,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { tbd.setScope(BeanDefinition.SCOPE_PROTOTYPE); bf.registerBeanDefinition("testBean", tbd); - ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean"); + ObjectProviderInjectionBean bean = bf.getBean("annotatedBean", ObjectProviderInjectionBean.class); assertThat(bean.getTestBean()).isEqualTo(bf.getBean("testBean")); assertThat(bean.getTestBean("myName")).isEqualTo(bf.getBean("testBean", "myName")); assertThat(bean.getOptionalTestBean()).isEqualTo(bf.getBean("testBean")); @@ -1386,7 +1387,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); bf.registerBeanDefinition("testBean", new RootBeanDefinition(TestBean.class)); - ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean"); + ObjectProviderInjectionBean bean = bf.getBean("annotatedBean", ObjectProviderInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean")); assertThat(bean.getOptionalTestBean()).isSameAs(bf.getBean("testBean")); assertThat(bean.getOptionalTestBeanWithDefault()).isSameAs(bf.getBean("testBean")); @@ -1413,7 +1414,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { public void testObjectProviderInjectionWithTargetNotAvailable() { bf.registerBeanDefinition("annotatedBean", new RootBeanDefinition(ObjectProviderInjectionBean.class)); - ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean"); + ObjectProviderInjectionBean bean = bf.getBean("annotatedBean", ObjectProviderInjectionBean.class); assertThatExceptionOfType(NoSuchBeanDefinitionException.class).isThrownBy( bean::getTestBean); assertThat(bean.getOptionalTestBean()).isNull(); @@ -1439,7 +1440,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("testBean1", new RootBeanDefinition(TestBean.class)); bf.registerBeanDefinition("testBean2", new RootBeanDefinition(TestBean.class)); - ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean"); + ObjectProviderInjectionBean bean = bf.getBean("annotatedBean", ObjectProviderInjectionBean.class); assertThatExceptionOfType(NoUniqueBeanDefinitionException.class).isThrownBy(bean::getTestBean); assertThatExceptionOfType(NoUniqueBeanDefinitionException.class).isThrownBy(bean::getOptionalTestBean); assertThatExceptionOfType(NoUniqueBeanDefinitionException.class).isThrownBy(bean::consumeOptionalTestBean); @@ -1476,7 +1477,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { tb2.setLazyInit(true); bf.registerBeanDefinition("testBean2", tb2); - ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean"); + ObjectProviderInjectionBean bean = bf.getBean("annotatedBean", ObjectProviderInjectionBean.class); assertThat(bean.getTestBean()).isSameAs(bf.getBean("testBean1")); assertThat(bean.getOptionalTestBean()).isSameAs(bf.getBean("testBean1")); assertThat(bean.consumeOptionalTestBean()).isSameAs(bf.getBean("testBean1")); @@ -1514,7 +1515,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { tb2.setLazyInit(true); bf.registerBeanDefinition("testBean2", tb2); - ObjectProviderInjectionBean bean = (ObjectProviderInjectionBean) bf.getBean("annotatedBean"); + ObjectProviderInjectionBean bean = bf.getBean("annotatedBean", ObjectProviderInjectionBean.class); List testBeans = bean.sortedTestBeans(); assertThat(testBeans.size()).isEqualTo(2); assertThat(testBeans.get(0)).isSameAs(bf.getBean("testBean2")); @@ -1737,7 +1738,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { IntegerRepository ir = new IntegerRepository(); bf.registerSingleton("integerRepo", ir); - RepositoryFieldInjectionBean bean = (RepositoryFieldInjectionBean) bf.getBean("annotatedBean"); + RepositoryFieldInjectionBean bean = bf.getBean("annotatedBean", RepositoryFieldInjectionBean.class); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); assertThat(bean.stringArray.length).isSameAs(1); @@ -1782,7 +1783,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { IntegerRepository ir = new IntegerRepository(); bf.registerSingleton("integerRepo", ir); - RepositoryFieldInjectionBeanWithSubstitutedVariables bean = (RepositoryFieldInjectionBeanWithSubstitutedVariables) bf.getBean("annotatedBean"); + RepositoryFieldInjectionBeanWithSubstitutedVariables bean = + bf.getBean("annotatedBean", RepositoryFieldInjectionBeanWithSubstitutedVariables.class); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); assertThat(bean.stringArray.length).isSameAs(1); @@ -1823,7 +1825,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { IntegerRepository ir = new IntegerRepository(); bf.registerSingleton("integerRepo", ir); - RepositoryFieldInjectionBeanWithQualifiers bean = (RepositoryFieldInjectionBeanWithQualifiers) bf.getBean("annotatedBean"); + RepositoryFieldInjectionBeanWithQualifiers bean = + bf.getBean("annotatedBean", RepositoryFieldInjectionBeanWithQualifiers.class); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); assertThat(bean.stringRepositoryArray.length).isSameAs(1); @@ -1860,7 +1863,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { rbd.setQualifiedElement(ReflectionUtils.findField(getClass(), "integerRepositoryQualifierProvider")); bf.registerBeanDefinition("integerRepository", rbd); // Bean name not matching qualifier - RepositoryFieldInjectionBeanWithQualifiers bean = (RepositoryFieldInjectionBeanWithQualifiers) bf.getBean("annotatedBean"); + RepositoryFieldInjectionBeanWithQualifiers bean = + bf.getBean("annotatedBean", RepositoryFieldInjectionBeanWithQualifiers.class); Repository sr = bf.getBean("stringRepo", Repository.class); Repository ir = bf.getBean("integerRepository", Repository.class); assertThat(bean.stringRepository).isSameAs(sr); @@ -1887,7 +1891,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerSingleton("repo", new StringRepository()); - RepositoryFieldInjectionBeanWithSimpleMatch bean = (RepositoryFieldInjectionBeanWithSimpleMatch) bf.getBean("annotatedBean"); + RepositoryFieldInjectionBeanWithSimpleMatch bean = + bf.getBean("annotatedBean", RepositoryFieldInjectionBeanWithSimpleMatch.class); Repository repo = bf.getBean("repo", Repository.class); assertThat(bean.repository).isSameAs(repo); assertThat(bean.stringRepository).isSameAs(repo); @@ -1914,7 +1919,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", bd); bf.registerBeanDefinition("repoFactoryBean", new RootBeanDefinition(RepositoryFactoryBean.class)); - RepositoryFactoryBeanInjectionBean bean = (RepositoryFactoryBeanInjectionBean) bf.getBean("annotatedBean"); + RepositoryFactoryBeanInjectionBean bean = bf.getBean("annotatedBean", RepositoryFactoryBeanInjectionBean.class); RepositoryFactoryBean repoFactoryBean = bf.getBean("&repoFactoryBean", RepositoryFactoryBean.class); assertThat(bean.repositoryFactoryBean).isSameAs(repoFactoryBean); } @@ -1926,7 +1931,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { bf.registerBeanDefinition("annotatedBean", bd); bf.registerSingleton("repoFactoryBean", new RepositoryFactoryBean<>()); - RepositoryFactoryBeanInjectionBean bean = (RepositoryFactoryBeanInjectionBean) bf.getBean("annotatedBean"); + RepositoryFactoryBeanInjectionBean bean = bf.getBean("annotatedBean", RepositoryFactoryBeanInjectionBean.class); RepositoryFactoryBean repoFactoryBean = bf.getBean("&repoFactoryBean", RepositoryFactoryBean.class); assertThat(bean.repositoryFactoryBean).isSameAs(repoFactoryBean); } @@ -1945,7 +1950,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { rbd.getConstructorArgumentValues().addGenericArgumentValue(Repository.class); bf.registerBeanDefinition("repo", rbd); - RepositoryFieldInjectionBeanWithSimpleMatch bean = (RepositoryFieldInjectionBeanWithSimpleMatch) bf.getBean("annotatedBean"); + RepositoryFieldInjectionBeanWithSimpleMatch bean = bf.getBean("annotatedBean", RepositoryFieldInjectionBeanWithSimpleMatch.class); Repository repo = bf.getBean("repo", Repository.class); assertThat(bean.repository).isSameAs(repo); assertThat(bean.stringRepository).isSameAs(repo); @@ -1976,7 +1981,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { rbd.getConstructorArgumentValues().addGenericArgumentValue(new TypedStringValue(Repository.class.getName())); bf.registerBeanDefinition("repo", rbd); - RepositoryFieldInjectionBeanWithSimpleMatch bean = (RepositoryFieldInjectionBeanWithSimpleMatch) bf.getBean("annotatedBean"); + RepositoryFieldInjectionBeanWithSimpleMatch bean = bf.getBean("annotatedBean", RepositoryFieldInjectionBeanWithSimpleMatch.class); Repository repo = bf.getBean("repo", Repository.class); assertThat(bean.repository).isSameAs(repo); assertThat(bean.stringRepository).isSameAs(repo); @@ -2008,7 +2013,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { IntegerRepository ir = new IntegerRepository(); bf.registerSingleton("integerRepo", ir); - RepositoryMethodInjectionBean bean = (RepositoryMethodInjectionBean) bf.getBean("annotatedBean"); + RepositoryMethodInjectionBean bean = bf.getBean("annotatedBean", RepositoryMethodInjectionBean.class); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); assertThat(bean.stringArray.length).isSameAs(1); @@ -2053,7 +2058,8 @@ public class AutowiredAnnotationBeanPostProcessorTests { IntegerRepository ir = new IntegerRepository(); bf.registerSingleton("integerRepo", ir); - RepositoryMethodInjectionBeanWithSubstitutedVariables bean = (RepositoryMethodInjectionBeanWithSubstitutedVariables) bf.getBean("annotatedBean"); + RepositoryMethodInjectionBeanWithSubstitutedVariables bean = + bf.getBean("annotatedBean", RepositoryMethodInjectionBeanWithSubstitutedVariables.class); assertThat(bean.string).isSameAs(sv); assertThat(bean.integer).isSameAs(iv); assertThat(bean.stringArray.length).isSameAs(1); @@ -2094,7 +2100,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { IntegerRepository ir = new IntegerRepository(); bf.registerSingleton("integerRepo", ir); - RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); + RepositoryConstructorInjectionBean bean = bf.getBean("annotatedBean", RepositoryConstructorInjectionBean.class); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ir); assertThat(bean.stringRepositoryArray.length).isSameAs(1); @@ -2120,7 +2126,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { GenericRepository gr = new GenericRepository(); bf.registerSingleton("genericRepo", gr); - RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); + RepositoryConstructorInjectionBean bean = bf.getBean("annotatedBean", RepositoryConstructorInjectionBean.class); assertThat(bean.stringRepository).isSameAs(gr); assertThat(bean.integerRepository).isSameAs(gr); assertThat(bean.stringRepositoryArray.length).isSameAs(1); @@ -2145,7 +2151,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { SimpleRepository ngr = new SimpleRepository(); bf.registerSingleton("simpleRepo", ngr); - RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); + RepositoryConstructorInjectionBean bean = bf.getBean("annotatedBean", RepositoryConstructorInjectionBean.class); assertThat(bean.stringRepository).isSameAs(ngr); assertThat(bean.integerRepository).isSameAs(ngr); assertThat(bean.stringRepositoryArray.length).isSameAs(1); @@ -2173,7 +2179,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { GenericRepository gr = new GenericRepositorySubclass(); bf.registerSingleton("genericRepo", gr); - RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); + RepositoryConstructorInjectionBean bean = bf.getBean("annotatedBean", RepositoryConstructorInjectionBean.class); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(gr); assertThat(bean.stringRepositoryArray.length).isSameAs(1); @@ -2200,7 +2206,7 @@ public class AutowiredAnnotationBeanPostProcessorTests { SimpleRepository ngr = new SimpleRepositorySubclass(); bf.registerSingleton("simpleRepo", ngr); - RepositoryConstructorInjectionBean bean = (RepositoryConstructorInjectionBean) bf.getBean("annotatedBean"); + RepositoryConstructorInjectionBean bean = bf.getBean("annotatedBean", RepositoryConstructorInjectionBean.class); assertThat(bean.stringRepository).isSameAs(sr); assertThat(bean.integerRepository).isSameAs(ngr); assertThat(bean.stringRepositoryArray.length).isSameAs(1);