全般
JavaEE7をはじめよう(13) - インジェクション候補が複数ある場合の対処方法 - エンタープライズギークス (Enterprise Geeks)
CDI(Contexts and Dependency Injection)まとめ - A Memorandum
なるほど!ザ・Weld | Exploring CDI extensions
@n_agetsu
パーフェクトJavaEEのCDIパートの著者でもあります。実際に何度か勉強会で話は聞かせていただいたこともあります。とにかく分かりやすいし聞きやすいです。
www.slideshare.net
www.slideshare.net
Java EE環境におけるCDIのデフォルト化 - 見習いプログラミング日記
CDIとiBATIS2.3を組み合わせる - 見習いプログラミング日記
CDIでアプリケーション設定をインジェクション - 見習いプログラミング日記
インジェクト
コンストラクタインジェクトをつかう
DIコンテナのインジェクション方法の使い分けについて - 日々常々
パーフェクトJavaEE:P47
@xxScopedには@Typedを忘れずに
パーフェクトJavaEE:P49
依存の注入ポイントとなる型(Interface)を明言した方が良さそう。Interfaceと実装が1対1であれば必ず限定できるけど、それだと何のためにDI
使っているのか、という話になってしまう。また同じく複数の型(Interfaceや抽象クラス)から具象化されるクラスが意図せず1つという状態になるのも良くない。少なくともScope
を限定している具象クラスにおいては論理的に1対1しておいた方が良い。
なおテストを考えても@Typed
を使った方が良い。
もう少し詳細な情報や使い方
Java EE 7 CDIを使う際の注意点──『Java EE 7徹底入門』番外編 第2回 - page2 - builder by ZDNet Japan
CDIビーンを動的に取得する - ksino's diary
CDIビーンを動的に取得するコードの単体テスト - ksino's diary
BeanManagerでCDIコンテナにアクセスする | なるほど!ザ・Weld
Java Examples for javax.enterprise.inject.spi.CDI
Java EEのCDIで定義しておくと便利なプロデューサーとインターセプタ - きしだのはてな
Java EEアプリケーションで起動時になにかしらの処理をする方法 — 裏紙
JavaSE環境
依存ライブラリが極力少ない方が良いと思うけど、CDI
は使った方が良いと思う。JavaEEだけじゃなくてJavaSEでも。