package test.DependencyInjection.guice; import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.TypeLiteral; public class TestGuice { /** * @param args */ public static void main(String[] args) { /* * Guice.createInjector() takes your Modules, and returns a new Injector * instance. Most applications will call this method exactly once, in * their main() method. */ Injector injector = Guice.createInjector(new AbstractModule(){ protected void configure() { this.bind(new TypeLiteral<TO<String>>(){}).to(TOImp.class); } }); /* * Now that we've got the injector, we can build objects. */ //TO<String> billingService = injector.getInstance(TO<String>.class); TestS billingService = injector.getInstance(TestS.class); System.out.println(billingService.getClass().getName()); } }