@Target({TYPE,METHOD}) @Retention(RUNTIME) public @interface Primary
@Primary @Singleton class PreferredEmailSender implements EmailSender { ... }