NULLインジェクション

いつも、Google guice 使用を書いていて思うのが、NULLインジェクションが発生するとき、
@Nullable をつけて、Module の configure で、toProvider を書かなくてはならないのが
煩わしい。

   binder().bind(Integer.class).toProvider(Providers.of(null));
   @Inject @Nullable private Integer i;

com.google.inject.Inject のオプション @Inject(optional=true) だけではダメで、
@Nullable が必要なのだ。
明示的であり、NULL 発生で落ちるのが解るから、toProviderと@Nullable を使うのだと言えば、それで納得なんだけど。。。

結局、optional がない javax.inject.Inject の方をいつも使っている。