Polishing
This commit is contained in:
@@ -58,8 +58,7 @@ class BeanMethodQualificationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void standard() {
|
void standard() {
|
||||||
AnnotationConfigApplicationContext ctx =
|
AnnotationConfigApplicationContext ctx = context(StandardConfig.class, StandardPojo.class);
|
||||||
new AnnotationConfigApplicationContext(StandardConfig.class, StandardPojo.class);
|
|
||||||
|
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
||||||
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
||||||
@@ -71,8 +70,7 @@ class BeanMethodQualificationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void scoped() {
|
void scoped() {
|
||||||
AnnotationConfigApplicationContext ctx =
|
AnnotationConfigApplicationContext ctx = context(ScopedConfig.class, StandardPojo.class);
|
||||||
new AnnotationConfigApplicationContext(ScopedConfig.class, StandardPojo.class);
|
|
||||||
|
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
||||||
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
||||||
@@ -84,8 +82,7 @@ class BeanMethodQualificationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void scopedProxy() {
|
void scopedProxy() {
|
||||||
AnnotationConfigApplicationContext ctx =
|
AnnotationConfigApplicationContext ctx = context(ScopedProxyConfig.class, StandardPojo.class);
|
||||||
new AnnotationConfigApplicationContext(ScopedProxyConfig.class, StandardPojo.class);
|
|
||||||
|
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isTrue(); // a shared scoped proxy
|
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isTrue(); // a shared scoped proxy
|
||||||
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
||||||
@@ -99,8 +96,7 @@ class BeanMethodQualificationTests {
|
|||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@ValueSource(classes = {PrimaryConfig.class, FallbackConfig.class})
|
@ValueSource(classes = {PrimaryConfig.class, FallbackConfig.class})
|
||||||
void primaryVersusFallback(Class<?> configClass) {
|
void primaryVersusFallback(Class<?> configClass) {
|
||||||
AnnotationConfigApplicationContext ctx =
|
AnnotationConfigApplicationContext ctx = context(configClass, StandardPojo.class, ConstructorPojo.class);
|
||||||
new AnnotationConfigApplicationContext(configClass, StandardPojo.class, ConstructorPojo.class);
|
|
||||||
|
|
||||||
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
StandardPojo pojo = ctx.getBean(StandardPojo.class);
|
||||||
assertThat(pojo.testBean.getName()).isEqualTo("interesting");
|
assertThat(pojo.testBean.getName()).isEqualTo("interesting");
|
||||||
@@ -122,13 +118,12 @@ class BeanMethodQualificationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void customWithLazyResolution() {
|
void customWithLazyResolution() {
|
||||||
AnnotationConfigApplicationContext ctx =
|
AnnotationConfigApplicationContext ctx = context(CustomConfig.class, CustomPojo.class);
|
||||||
new AnnotationConfigApplicationContext(CustomConfig.class, CustomPojo.class);
|
|
||||||
|
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse();
|
assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse();
|
||||||
assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
|
assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
|
||||||
"testBean2", ctx.getDefaultListableBeanFactory())).isTrue();
|
"testBean2", ctx.getDefaultListableBeanFactory())).isTrue();
|
||||||
|
|
||||||
CustomPojo pojo = ctx.getBean(CustomPojo.class);
|
CustomPojo pojo = ctx.getBean(CustomPojo.class);
|
||||||
assertThat(pojo.plainBean).isNull();
|
assertThat(pojo.plainBean).isNull();
|
||||||
@@ -143,15 +138,13 @@ class BeanMethodQualificationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void customWithEarlyResolution() {
|
void customWithEarlyResolution() {
|
||||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
|
AnnotationConfigApplicationContext ctx = context(CustomConfig.class, CustomPojo.class);
|
||||||
ctx.register(CustomConfig.class, CustomPojo.class);
|
|
||||||
ctx.refresh();
|
|
||||||
|
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
assertThat(ctx.getBeanFactory().containsSingleton("testBean1")).isFalse();
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse();
|
assertThat(ctx.getBeanFactory().containsSingleton("testBean2")).isFalse();
|
||||||
ctx.getBean("testBean2");
|
ctx.getBean("testBean2");
|
||||||
assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
|
assertThat(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
|
||||||
"testBean2", ctx.getDefaultListableBeanFactory())).isTrue();
|
"testBean2", ctx.getDefaultListableBeanFactory())).isTrue();
|
||||||
|
|
||||||
CustomPojo pojo = ctx.getBean(CustomPojo.class);
|
CustomPojo pojo = ctx.getBean(CustomPojo.class);
|
||||||
assertThat(pojo.testBean.getName()).isEqualTo("interesting");
|
assertThat(pojo.testBean.getName()).isEqualTo("interesting");
|
||||||
@@ -178,8 +171,7 @@ class BeanMethodQualificationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void customWithAttributeOverride() {
|
void customWithAttributeOverride() {
|
||||||
AnnotationConfigApplicationContext ctx =
|
AnnotationConfigApplicationContext ctx = context(CustomConfigWithAttributeOverride.class, CustomPojo.class);
|
||||||
new AnnotationConfigApplicationContext(CustomConfigWithAttributeOverride.class, CustomPojo.class);
|
|
||||||
|
|
||||||
assertThat(ctx.getBeanFactory().containsSingleton("testBeanX")).isFalse();
|
assertThat(ctx.getBeanFactory().containsSingleton("testBeanX")).isFalse();
|
||||||
CustomPojo pojo = ctx.getBean(CustomPojo.class);
|
CustomPojo pojo = ctx.getBean(CustomPojo.class);
|
||||||
@@ -192,16 +184,14 @@ class BeanMethodQualificationTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void beanNamesForAnnotation() {
|
void beanNamesForAnnotation() {
|
||||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(StandardConfig.class);
|
AnnotationConfigApplicationContext ctx = context(StandardConfig.class);
|
||||||
|
|
||||||
assertThat(ctx.getBeanNamesForAnnotation(Configuration.class)).isEqualTo(
|
assertThat(ctx.getBeanNamesForAnnotation(Configuration.class))
|
||||||
new String[] {"beanMethodQualificationTests.StandardConfig"});
|
.containsExactly("beanMethodQualificationTests.StandardConfig");
|
||||||
assertThat(ctx.getBeanNamesForAnnotation(Scope.class)).isEqualTo(
|
assertThat(ctx.getBeanNamesForAnnotation(Scope.class)).isEmpty();
|
||||||
new String[] {});
|
assertThat(ctx.getBeanNamesForAnnotation(Lazy.class)).containsExactly("testBean1");
|
||||||
assertThat(ctx.getBeanNamesForAnnotation(Lazy.class)).isEqualTo(
|
assertThat(ctx.getBeanNamesForAnnotation(Boring.class))
|
||||||
new String[] {"testBean1"});
|
.containsExactly("beanMethodQualificationTests.StandardConfig", "testBean2");
|
||||||
assertThat(ctx.getBeanNamesForAnnotation(Boring.class)).isEqualTo(
|
|
||||||
new String[] {"beanMethodQualificationTests.StandardConfig", "testBean2"});
|
|
||||||
|
|
||||||
ctx.close();
|
ctx.close();
|
||||||
}
|
}
|
||||||
@@ -433,4 +423,8 @@ class BeanMethodQualificationTests {
|
|||||||
@interface InterestingPojo {
|
@interface InterestingPojo {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static AnnotationConfigApplicationContext context(Class<?>... componentClasses) {
|
||||||
|
return new AnnotationConfigApplicationContext(componentClasses);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user