In some instances, the type of the bean we wish to inject into our code may be an interface or a Java superclass, but we may be interested in injecting a subclass or a class implementing the interface. For cases like this, CDI provides qualifiers that we can use to indicate the specific type we wish to inject into our code.
A CDI qualifier is an annotation that must be decorated with the
@Qualifier annotation. This annotation can then be used to decorate the specific subclass or interface implementation that we wish to qualify. Additionally, the injected field in the client code needs to be decorated with the qualifier as well.
Suppose our application could have a special kind of customer; for example, frequent customers ...