Question - What do you understand by @Qualifier annotation?
Answer -
When you create more than one bean of the same type and want to wire only one of them with a property you can use the @Qualifier annotation along with @Autowired to remove the ambiguity by specifying which exact bean should be wired.
For example, here we have two classes, Employee and EmpAccount respectively. In EmpAccount, using @Qualifier its specified that bean with id emp1 must be wired.
Employee.java
- public class Employee
- {
- private String name;
- @Autowired
- public void setName(String name)
- { this.name=name; }
- public string getName()
- { return name; }
- }
EmpAccount.java
- public class EmpAccount
- {
- private Employee emp;
- @Autowired
- @Qualifier(emp1)
- public void showName()
- {
- System.out.println(“Employee name : ”+emp.getName);
- }
- }