public interface MessageService {
void sendMessage(String message);
}
public class EmailService implements MessageService {
public void sendMessage(String message) {
System.out.println("Sending email: " + message);
}
}
public class AppModule extends AbstractModule {
protected void configure() {
bind(MessageService.class).to(EmailService.class);
}
}
public static void main(String[] args) {
Injector injector = Guice.createInjector(new AppModule());
MessageService messageService = injector.getInstance(MessageService.class);
messageService.sendMessage("Hello GIN!");
}