2011-02-03 15 views
4

私のサービスでは、保護されたコンストラクタが@Injectであり、パラメータ(プロバイダ)の1つが@Nullableです。私が得意とするアイデアGuice @ Nullable注釈

com.google.inject.CreationException: Guice creation errors: 
1) No implementation for [[service]] was bound.

? Guiceは3.0pre1、@Nullableは私たちです。

+0

@Nullableは何らかの形で強制されていませんが、読者やコード分析ツールには注意が必要です。 http://stackoverflow.com/questions/14076296/nullable-annotation-usage –

+2

@DavidGladfelter実際にGuiceは '@ Nullable'を気にしていますhttps://github.com/google/guice/wiki/UseNullable – orsg

答えて

7

@Nullableは、私はあなたがnullを注入する場合、あなたはbind(Service.class).toProvider(Providers.<Service>of(null))に必要か、そうでない場合はnullを返すことがあり、その束縛プロバイダのいくつかの種類を持っていると思う... @Inject(optional=true)と同じではありません。