@Providesをつけて

Google guice2.0 から登場した @Provides 今まで Provider<T> 実装クラスを準備しなければならなかったのを Module 実装クラス、
あるいは、AbstractModule 実装クラスの記述で、
@Provides を付与したメソッド(名前なんでもよい)を書けばよい。もちろん古い方法になった Binder#toProvider(..) も使えるので、これから状況によって @Provides を付与したメソッドを使うことになるだろう。

Injector injector = Guice.createInjector(new _Module());

class _Module extends AbstractModule{
   @Override
   protected void configure(){

      binder().bind(Integer.class).toInstance(new Integer(12));
   }
   @Provides @Named("COLOR")
   protected String providedColor(){
      return "Red";
   }
   @Provides @Named("AUTH")
   protected String providedAuth(){
      return "Stacey";
   }
}
このように、@Named を併用することができるのも便利である