If you don't agree w/ jMotta and feel you really need the injector in
your sevice implementation, you can just inject it into your service.
Guice creates a default binding for the injector, so you don't even
have to set one up in your module.

On Jul 1, 9:51 am, ich du <[email protected]> wrote:
> thx but  as i mentioned in previous post, i already got a "MainModule"
> called ServerModule. My Problem is how to use it on Serverside. All
> Examples doing the bootstrapping in main - cretaeInjector,
> getInstance. But in the guice/gwt/rpc case the injector instance is
> created in GuiceServletContextListener. With this i can't get an
> injector where i want it. in my special case my servlets need such an
> injected class:
>
> public class MyServiceImpl extends RemoteServiceServlet implements
> MyService {
>
>     @Override
>     public ArrayList<SomeClass> getList() {
>         return injector.getInstance(Dataprovider.class).getList();
>     }
>
> }
>
> But how to get an Injector instance at this place? Should i create an
> injector wherever i need one? or save the injector created inside my
> GuiceServletContextListener and make it available via a getI()-Method?
>
> On Jul 1, 3:27 pm, jMotta <[email protected]> wrote:
>
>
>
> > Ich Du,
>
> > No, what you need is to create a module to "normal" injections, the one that
> > I've told you is a special one that deals with the special characteristics
> > of a servlet.
>
> > The classes that will be inject must be also be mapped by Guice, you will
> > need something like this:
>
> > public class MainModule extends AbstractModule {
> > @Override
> >  protected void configure() {
> > bind(Objectify.class).toProvider(ObjectifyTransacionalProvider.class);
>
> > bind(Objectify.class).annotatedWith(Names.named("Non-Transactional")).toPro­vider(ObjectifyProvider.class);
> > bind(ObjectifyFactory.class).toInstance(ObjectifyService.factory());
> > ...
>
> > }
> > }
>
> > And then install this module with the servlet module that you've installed
> > before. I recommend you to read the guides in the Guice page, they're very
> > clear. :)
>
> > *Jayr Motta*
> > Software Developer
> > *
> > *
> > I'm  on 
> > BlackBeltFactory.com<http://www.blackbeltfactory.com/ui#!User/jmotta/ref=jmotta>
> > !
>
> > On Fri, Jul 1, 2011 at 10:08 AM, ich du <[email protected]> wrote:
> > > thx again,
>
> > > i just tried to wire up my server side with guice - the rpc part is done 
> > > so
> > > far (thx to you). but on server side i also have some pojo
> > > interfaces/implementation that i want to inject via guice. but how to
> > > bootstrap this? at the moment i just added the module to my
> > > GuiceServletContextListener:
>
> > > public class AppGuiceContextListener extends GuiceServletContextListener {
>
> > >     @Override
> > >     protected Injector getInjector() {
> > >         return Guice.createInjector(new ServerModule(), new
> > > ServletModule());
> > >     }
>
> > > }
>
> > > (not later than now i have to admit i am a total guice noob)
> > > but imho somehow i need an injector instance on server side to get
> > > instances of classes that use injection?! something like that:
> > > Injector i = Guice.createInjector(new ServerModule(), new
> > > ServletModule());
> > > ClassThatHasSom@InjectInside instance = i.getInstance(
> > > [email protected]);
>
> > > So on Server i need a reference to the injector instance?! is it a good
> > > idea to store the injector in a (static?) field in AppGuiceContextListener
> > > or should i just call getInjector() whenever i need it?
>
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "google-guice" group.
> > > To view this discussion on the web visit
> > >https://groups.google.com/d/msg/google-guice/-/orv5N_ikTo4J.
>
> > > 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.- Hide quoted text -
>
> - Show quoted text -

-- 
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