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