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(DrawDotServiceImpl.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].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to