Aha, nice one. That wasn't mentioned (well, there was no example like that) on http://code.google.com/p/google-guice/wiki/Bindings), which was why I was confused.
Thanks for the speedy response J On Nov 7, 11:01 pm, dg <[email protected]> wrote: > just > > bind(MyClass.class); > > -d > > On Nov 7, 12:58 pm, Jon Vaughan <[email protected]> wrote: > > > > > Hi, > > > I'm new to Guice, so I apologise if this is a stupid question, or if > > my I'm just plain wrong. I'm trying to retrofit it to a large > > existing codebase. > > > My understanding is that if I have a Guice binding like: > > > bind(MyInterface.class).to(MyClass.class) > > > where MyClass implements MyInterface and has a constructor like: > > > @Inject > > public myClass(AnotherClass somethingElse) > > { > > //..blah > > > } > > > then when Guice supplies an instance of MyClass, that instance will > > have been injected with, in turn, an AnotherClass instance, providing > > that is also bound (hopefully I'm right so far?) > > > So now imagine that MyClass does NOT implement MyInterface (classes in > > my codebase only implement interfaces where there are multiple > > implementations of that interface) . > > > Guice does not permit me to do this: > > > bind(MyClass.class).to.(MyClass.class) > > > And this is not the same thing: > > > bind(MyClass.class).toInstance(new MyClass()) > > > because that instance will not have been supplied with an > > AnotherClass. > > > I could have some sort of bootstrap where I: > > > bind(AnotherClass.class).toInstance(new AnotherClass()); > > > and then > > > Injector injector = Guice.createInjector(getBootstrapModule()); > > bind(MyClass.class).toInstance(injector.getInstance(MyClass.class)); > > > but then I'm stumped if I want to then inject both MyClass and > > AnotherClass into something, unless I can live with multiple instances > > of AnotherClass. > > > I do not want to write interfaces for these classes just so I can > > inject them; have I got something wrong here, or is there a way around > > this? > > > Many thanks if you are able to help > > > Jon --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
