diff --git a/spring-context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java b/spring-context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java index cb42e8fcb6..749586dfa5 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java @@ -58,8 +58,7 @@ class BeanMethodQualificationTests { @Test void standard() { - AnnotationConfigApplicationContext ctx = - new AnnotationConfigApplicationContext(StandardConfig.class, StandardPojo.class); + AnnotationConfigApplicationContext ctx = context(StandardConfig.class, StandardPojo.class); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); StandardPojo pojo = ctx.getBean(StandardPojo.class); @@ -71,8 +70,7 @@ class BeanMethodQualificationTests { @Test void scoped() { - AnnotationConfigApplicationContext ctx = - new AnnotationConfigApplicationContext(ScopedConfig.class, StandardPojo.class); + AnnotationConfigApplicationContext ctx = context(ScopedConfig.class, StandardPojo.class); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); StandardPojo pojo = ctx.getBean(StandardPojo.class); @@ -84,8 +82,7 @@ class BeanMethodQualificationTests { @Test void scopedProxy() { - AnnotationConfigApplicationContext ctx = - new AnnotationConfigApplicationContext(ScopedProxyConfig.class, StandardPojo.class); + AnnotationConfigApplicationContext ctx = context(ScopedProxyConfig.class, StandardPojo.class); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isTrue(); // a shared scoped proxy StandardPojo pojo = ctx.getBean(StandardPojo.class); @@ -99,8 +96,7 @@ class BeanMethodQualificationTests { @ParameterizedTest @ValueSource(classes = {PrimaryConfig.class, FallbackConfig.class}) void primaryVersusFallback(Class configClass) { - AnnotationConfigApplicationContext ctx = - new AnnotationConfigApplicationContext(configClass, StandardPojo.class, ConstructorPojo.class); + AnnotationConfigApplicationContext ctx = context(configClass, StandardPojo.class, ConstructorPojo.class); StandardPojo pojo = ctx.getBean(StandardPojo.class); assertThat(pojo.testBean.getName()).isEqualTo("interesting"); @@ -122,13 +118,12 @@ class BeanMethodQualificationTests { @Test void customWithLazyResolution() { - AnnotationConfigApplicationContext ctx = - new AnnotationConfigApplicationContext(CustomConfig.class, CustomPojo.class); + AnnotationConfigApplicationContext ctx = context(CustomConfig.class, CustomPojo.class); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse(); assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"), - "testBean2", ctx.getDefaultListableBeanFactory())).isTrue(); + "testBean2", ctx.getDefaultListableBeanFactory())).isTrue(); CustomPojo pojo = ctx.getBean(CustomPojo.class); assertThat(pojo.plainBean).isNull(); @@ -143,15 +138,13 @@ class BeanMethodQualificationTests { @Test void customWithEarlyResolution() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); - ctx.register(CustomConfig.class, CustomPojo.class); - ctx.refresh(); + AnnotationConfigApplicationContext ctx = context(CustomConfig.class, CustomPojo.class); assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse(); assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse(); ctx.getBean("testBean2"); assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"), - "testBean2", ctx.getDefaultListableBeanFactory())).isTrue(); + "testBean2", ctx.getDefaultListableBeanFactory())).isTrue(); CustomPojo pojo = ctx.getBean(CustomPojo.class); assertThat(pojo.testBean.getName()).isEqualTo("interesting"); @@ -178,8 +171,7 @@ class BeanMethodQualificationTests { @Test void customWithAttributeOverride() { - AnnotationConfigApplicationContext ctx = - new AnnotationConfigApplicationContext(CustomConfigWithAttributeOverride.class, CustomPojo.class); + AnnotationConfigApplicationContext ctx = context(CustomConfigWithAttributeOverride.class, CustomPojo.class); assertThat(ctx.getBeanFactory().containsSingleton("testBeanX")).isFalse(); CustomPojo pojo = ctx.getBean(CustomPojo.class); @@ -192,16 +184,14 @@ class BeanMethodQualificationTests { @Test void beanNamesForAnnotation() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(StandardConfig.class); + AnnotationConfigApplicationContext ctx = context(StandardConfig.class); - assertThat(ctx.getBeanNamesForAnnotation(Configuration.class)).isEqualTo( - new String[] {"beanMethodQualificationTests.StandardConfig"}); - assertThat(ctx.getBeanNamesForAnnotation(Scope.class)).isEqualTo( - new String[] {}); - assertThat(ctx.getBeanNamesForAnnotation(Lazy.class)).isEqualTo( - new String[] {"testBean1"}); - assertThat(ctx.getBeanNamesForAnnotation(Boring.class)).isEqualTo( - new String[] {"beanMethodQualificationTests.StandardConfig", "testBean2"}); + assertThat(ctx.getBeanNamesForAnnotation(Configuration.class)) + .containsExactly("beanMethodQualificationTests.StandardConfig"); + assertThat(ctx.getBeanNamesForAnnotation(Scope.class)).isEmpty(); + assertThat(ctx.getBeanNamesForAnnotation(Lazy.class)).containsExactly("testBean1"); + assertThat(ctx.getBeanNamesForAnnotation(Boring.class)) + .containsExactly("beanMethodQualificationTests.StandardConfig", "testBean2"); ctx.close(); } @@ -433,4 +423,8 @@ class BeanMethodQualificationTests { @interface InterestingPojo { } + private static AnnotationConfigApplicationContext context(Class... componentClasses) { + return new AnnotationConfigApplicationContext(componentClasses); + } + }