Linked bindings

Linked binding helps to map a type to its implementation. Examples of linked bindings include an interface to its implementation class, and a superclass to a subclass.

Here, NotificationService is bound to the SMSService instance in the ApplicationModule class. This binding affirmation binds an interface to its implementation:

   bind(NotificationService.class).to(SMSService.class);

When we call injector.getInstance(ApplicationModule.class), it will utilize SMSService. If binding to a distinctive implementation of NotificationService, as an EmailService is required, then we only need to essentially alter the binding:

bind(NotificationService.class).to(EmailService.class);

We can even define the link from a type to any of its ...

Get Java 9 Dependency Injection now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.