Browse Source

Added a test to prove that @Qualifier works in conjunction with @Bean methods after some confusion by users that it may not.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3378 50f2f4bb-b051-0410-bef5-90022cba6387
pull/1/head
Chris Beams 16 years ago
parent
commit
db1e3ffd79
  1. 52
      org.springframework.context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java

52
org.springframework.context/src/test/java/org/springframework/context/annotation/configuration/BeanMethodQualificationTests.java

@ -0,0 +1,52 @@ @@ -0,0 +1,52 @@
package org.springframework.context.annotation.configuration;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import test.beans.TestBean;
/**
* Tests proving that @Qualifier annotations work when used
* with @Configuration classes on @Bean methods.
*
* @author Chris Beams
*/
public class BeanMethodQualificationTests {
@Test
public void test() {
ApplicationContext ctx =
new AnnotationConfigApplicationContext(Config.class, Pojo.class);
Pojo pojo = ctx.getBean(Pojo.class);
assertThat(pojo.testBean.getName(), equalTo("interesting"));
}
@Configuration
static class Config {
@Bean
@Qualifier("interesting")
public TestBean testBean1() {
return new TestBean("interesting");
}
@Bean
@Qualifier("boring")
public TestBean testBean2() {
return new TestBean("boring");
}
}
@Component
static class Pojo {
@Autowired @Qualifier("interesting") TestBean testBean;
}
}
Loading…
Cancel
Save