public interface Service {
void doSomething();
}
public class ServiceImpl implements Service {
@Override
public void doSomething() {
System.out.println("Doing something...");
}
}
@ImplementedBy(ServiceImpl.class)
public interface Service {
void doSomething();
}
public class Consumer {
private final Service service;
@Inject
public Consumer(Service service) {
this.service = service;
}
public void doWork() {
service.doSomething();
}
}
public class MyModule extends AbstractGinModule {
@Override
protected void configure() {
bind(Service.class).to(ServiceImpl.class);
}
}
public class Main {
public static void main(String[] args) {
Ginjector injector = GWT.create(Ginjector.class);
Consumer consumer = injector.getConsumer();
consumer.doWork();
}
}