@Injectアノテーションを付与してDependency Injectionを行う時java.lang.NullPointerExceptionが発生する
@Injectアノテーションを付与した注入先のフィールド、コンストラクタ引数、メソッド引数の値が実行時にnullとなり、それらの変数使用時にjava.lang.NullPointerExceptionが発生する場合、以下の可能性が考えられます。
CDIが有効になっていない
beans.xmlがアプリケーションに含まれていないためCDIが有効になっておらず、Dependency Injectionが機能していない可能性があります。
注入するオブジェクトを内包しているアプリケーション、および注入先のクラスを内包するアプリケーションの以下の箇所にbeans.xmlを格納してください。
アプリケーションがwarファイルの場合、WEB-INFディレクトリ配下
アプリケーションがjarファイルの場合、META-INFディレクトリ配下
注入先のクラスが他のクラスでnew演算子によりインスタンス化されている
注入先のクラス(@Injectアノテーションが付与されているクラス)をnew演算子でインスタンス化しているため、Dependency Injectionが機能していない可能性があります。
new演算子ではなく@Injectアノテーションを使用してインスタンスを注入するようアプリケーションを変更してください。
Java EEアプリケーションクライアントまたはJava SEスタンドアロンアプリケーションでCDIを使用している
Java EEアプリケーションクライアントおよびJava SEスタンドアロンアプリケーションではCDIを使用できません。@Injectアノテーションを付与したDependency InjectionなどのCDIの機能を使用しないでください。