In spring, you can XML-configure a bean to have a qualifier. I can't seem to find how I can attach a qualifier if configuring beans through Java annotations. What's up with that? Do I have to use just plain old names?
Asked
Active
Viewed 4.2k times
2 Answers
30
If you're using annotations (not Java based configuration), you can use the following to add a qualifier (see the Spring documentation):
@Component
@Qualifier("myQualifier")
public class MyBean {
//code
}
And to wire in the bean, use the following (again, see the Spring documentation):
public class MyClass {
@Autowired
@Qualifier("myQualifier")
private MyBean myBean;
//more code
}

Snowy Coder Girl
- 5,408
- 10
- 41
- 72
-
7And what's wrong with `@Component("componentName")`? How `@Component @Qualifier` is better? – Nick Nov 18 '16 at 14:05
-
2@Nick You can qualify multiple components with the same qualifier. Think of it as a grouping concept. – levant pied Nov 30 '18 at 18:51
19
What, like @Qualifier
, you mean?
3.10.4 Defining bean metadata within components
Example:
@Bean @Qualifier("public")
public TestBean publicInstance() {
return new TestBean("publicInstance");
}

skaffman
- 398,947
- 96
- 818
- 769
-
1+1. See also my answer for autowiring (didn't add it here b/c code would be hard to read). – Snowy Coder Girl Feb 07 '12 at 20:21