It is good :) I just do that in the main class :
Injector injector = Guice.createInjector(new DemoModule(), new ClientModule(), new DrawModule()); and now, it works ^^ thanks a lot to every one for your precious help. jérémie On 21 juil, 17:01, Colin Decker <[email protected]> wrote: > You should be using one Injector, total. That's a core part of how Guice > works. Add all your Modules to this single injector: > > Injector injector = Guice.createInjector(new DemoModule(), new > ClientModule()); > > Colin > > > > On Wed, Jul 21, 2010 at 10:56 AM, Jerem's <[email protected]> wrote: > > hmm maybe there few thibgs I have not understood yes about guice. > > > I have One injector per module. > > But I don"t understand what do you mean by installing module....? > > what do you mean by "installing? > > yes it is that main class where I saw errors. > > > I Don't think I have install anything, so it must be my error. > > > Jérémie > > > On 21 juil, 15:38, Sam Berlin <[email protected]> wrote: > > > On Wed, Jul 21, 2010 at 5:31 AM, Jerem's <[email protected]> wrote: > > > > hmm no. I delete the "annotatedWith(ToDot.class)". so I don't use > > > > anotation, > > > > > My main class look like that : > > > > > public static void main(String[] args) { > > > > Injector demoInjector = Guice.createInjector(new > > > > DemoModule()); > > > > Injector clientInjector = Guice.createInjector(new > > > > ClientModule()); > > > > ISimpleGraph demo = > > > > demoInjector.getInstance(ISimpleGraph.class); > > > > IClient client = > > clientInjector.getInstance(IClient.class); > > > > Is this the same main class you're using where you said you saw errors > > using > > > MapBinder? Are you installing the module with the MapBinder bindings in > > > DemoModule or ClientModule? Why are you using two different Injectors? > > > > sam > > > > > System.out.println("Drawing graph..."); > > > > try { > > > > client.executeService(demo, DrawGraphType.DOT, > > > > "demo.dot"); > > > > client.executeService(demo, DrawGraphType.TEXT, > > > > "demo.txt"); > > > > } catch (IOException e) { > > > > System.out.println("failed !!!"); > > > > System.out.println(e); > > > > e.printStackTrace(); > > > > } > > > > System.out.println("Done."); > > > > > } > > > > > Jeremie > > > > > On 20 juil, 23:03, IvanoBulo <[email protected]> wrote: > > > > > Because you've specified "annotatedWith(ToDot.class)". But when you > > > > > getting instance through injector, as a key you are using an > > interface > > > > > only. > > > > > > You may try: > > > > > > class Test { > > > > > @Inject @ToDot > > > > > IDrawGraphService drawDotService; > > > > > > public Test () { > > > > > Injector drawGraphInjector = Guice.createInjector(new DrawModule()); > > > > > drawGraphInjector.injectMembers(this); > > > > > > drawDotService.draw(); ///or whatever > > > > > > } > > > > > > } > > > > > > - Ivan > > > > > > On 19 Лип, 17:21, "Jerem's" <[email protected]> wrote: > > > > > > > Hello I try to use annotatoij on a local variable : > > > > > > > this is my module : > > > > > > > public class DrawModule extends AbstractModule { > > > > > > > @Override > > > > > > protected void configure() { > > > this.bind(IDrawGraphService.class).annotatedWith(ToDot.class).to(DrawDotSer > > > > viceImpl.class); > > > > > > } > > > > > > > } > > > > > > > and my Annotation look like that : > > > > > > > @Retention(RUNTIME) > > > > > > @Target({ LOCAL_VARIABLE, FIELD, PARAMETER }) > > > > > > @BindingAnnotation > > > > > > public @interface ToDot { > > > > > > > } > > > > > > > and I try to do that : > > > > > > > Injector drawGraphInjector = Guice.createInjector(new > > DrawModule()); > > > > > > @ToDot > > > > > > IDrawGraphService drawDotService = > > > > > > drawGraphInjector.getInstance(IDrawGraphService.class); > > > > > > > But I have an exception : > > > > > > > Exception in thread "main" > > com.google.inject.ConfigurationException: > > > > > > Guice configuration errors: > > > > > > > 1) No implementation for > > > > > > fr.irisa.cairn.simpleGraph.drawGraph.service.IDrawGraphService was > > > > > > bound. > > > > > > while locating > > > > > > fr.irisa.cairn.simpleGraph.drawGraph.service.IDrawGraphService > > > > > > > 1 error > > > > > > at > > > > com.google.inject.InjectorImpl.getProvider(InjectorImpl.java:784) > > > > > > at > > > > com.google.inject.InjectorImpl.getProvider(InjectorImpl.java:743) > > > > > > at > > > > com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793) > > > > > > at > > > fr.irisa.cairn.test.simpleGraph.runTimeTest.Launch.Main.main(Main.java: > > > > > > 25) > > > > > > > do you know why? > > > > > > > jérémie > > > > > -- > > > > You received this message because you are subscribed to the Google > > Groups > > > > "google-guice" group. > > > > To post to this group, send email to [email protected]. > > > > To unsubscribe from this group, send email to > > > > [email protected]<google-guice%2bunsubscr...@google > > > > groups.com> > > <google-guice%2bunsubscr...@google groups.com> > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/google-guice?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "google-guice" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<google-guice%2bunsubscr...@google > > groups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-guice?hl=en. -- You received this message because you are subscribed to the Google Groups "google-guice" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-guice?hl=en.
