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 を併用することができるのも便利である