Thanks for your replay, Stuart.
I learned that bindConstant() could do, but my problem is I need to
pass various strings, which might comes from the user input, to
StringBinding. Is there any better solution than calling
Guice.createInjector().getInstance()?




On Oct 15, 11:39 pm, Stuart McCulloch <[email protected]> wrote:
> 2009/10/14 eric <[email protected]>
>
>
>
>
>
> > I have a super basic problem:
>
> > public class StringBinding {
> >        private String name;
>
> >       �...@inject
> >        public StringBinding(String name){
> >                this.name = name;
> >        }
>
> >        public void hi(){
> >                System.out.println(this.name);
> >        }
> > }
>
> > How can I let hi() print the name I specified with Guice?
>
> you mean like this...?
>
>     public class StringBinding {
>         private String name;
>
>         @Inject
>         public StringBinding(@Named("person") String name) {
>             this.name = name;
>         }
>
>         public void hi() {
>             System.out.println(this.name);
>         }
>
>         public static void main(String[] args) {
>             Guice.createInjector(new AbstractModule() {
>                 protected void configure() {
>
> bindConstant().annotatedWith(Names.named("person")).to("Barney");
>                 }
>             }).getInstance(StringBinding.class).hi();
>         }
>     }
>
> you can also use "Names.bindProperties(binder, properties)" to bind a whole
> load of constants at once
>
>
>
> --
> Cheers, Stuart
--~--~---------~--~----~------------~-------~--~----~
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