public interface MessageService {
String getMessage();
}
public class EmailService implements MessageService {
@Override
public String getMessage() {
return "This is an email message.";
}
}
public class MyApplication {
@Inject
private MessageService messageService;
public void processMessage() {
System.out.println(messageService.getMessage());
}
}
public class AppMain {
public static void main(String[] args) {
Injector injector = Guice.createInjector();
MyApplication app = injector.getInstance(MyApplication.class);
app.processMessage();
}
}