public class MyModule implements Module {
@Override
public void configure(Binder binder) {
binder.bind(MyService.class).to(MyServiceImpl.class);
}
@Override
public void initialize(Injector injector) {
MyService service = injector.getInstance(MyService.class);
service.doSomething();
}
}
public interface MyService {
void doSomething();
}
public class MyServiceImpl implements MyService {
@Override
public void doSomething() {
System.out.println("Doing something...");
}
}
public class Main {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new MyModule());
MyService service = injector.getInstance(MyService.class);
service.doSomething();
}
}