I am learning programming with Guice and I am trying to write my own program for each of the concepts in the Guice official wiki.Here is my example program for the Injector builtin binding. Please review this and suggest any corrections/improvements.package guicePractice.guiceOfficial.BindingsExamples;import com.google.inject.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * Created by uday on 8/23/16. */public class BuiltInBindingInjector {    private static final Logger logger = LoggerFactory.getLogger            (BuiltInBindingInjector.class);    @ImplementedBy(Bb.class)    interface B {        String getMessage();    }    static class Bb implements B {        private String message = Hi!;        public String getMessage(){            return message;        }    }    interface A {        String getMessage();    }    static class Aa implements A {        private B b;        @Inject        public Aa(Injector injector){            b = injector.getInstance(B.class);        }        public String getMessage(){            return b.getMessage();        }    }    static class BuiltInBindingInjectorModule extends AbstractModule {        @Override        public void configure(){            bind(B.class).to(Bb.class);            bind(A.class).to(Aa.class);        }    }    public static void main(String args[]){        Injector injector = Guice.createInjector(new                BuiltInBindingInjectorModule());        A a  = injector.getInstance(A.class);        logger.info(Message from injected Injector {}, a.getMessage());    }}
Guice builtin Injector binding
java;guice