April 2018
Intermediate to advanced
246 pages
6h 11m
English
Sometimes we want to use numerous bindings for the same type. In our earlier example, NotificationService is bound to SMSService, which is essentially futile since the interface is bound to just one execution. If we need the client to have the adaptability to utilize any of the implementations, at that point we need to write a couple of bind statements in the configure() method, and to make that possible, we can write code as follows:
bind(NotificationService.class).annotatedWith(“sms”).to(SMSService.class);bind(NotificationService.class).annotatedWith(“email”).to(EmailService.class);
From the previous statement, Guice knows when to bind the NotificationService interface to SMSService and when to bind it to EmailService ...