CDIの勉強(その1)
CDIについての実践的なサンプルは、以下の記事が参考になります。
https://blogs.oracle.com/wlc/weblogic-server-12cjava-ee-68-cdi1
実際にやってみた
はじめてのCDI
わかったことは、
- コンテナ(アプリケーションサーバー)が、HelloEnglish (今回の場合、hello)のインスタンスを生成してくれる。
- コンテナがインスタンスを生成するので、interface を宣言する必要がある。
スコープの指定
デフォルトのスコープと呼ばれる@Dependent の場合、Servletのライフサイクルと同じになりました。
Beanクラスに、@RequestScoped にした場合の実行例は次のようになりました。
HttpRequest毎に、Beanが消滅するので、何度やっても呼び出し回数は、1 であることは納得いきました。

セッションスコープの場合、ブラウザ毎に状態を持っていることの確認もできました。
キャプチャは、同じになってしまうので省略。
おまけ
おまけにて、Bean のライフライクルについての説明があった。
次回の記事はこちら になります。

