タグ

ブックマーク / n-agetsuma.hatenablog.com (2)

  • Java EE環境におけるCDIのデフォルト化 - n-agetsumaの日記

    Java EE 7 に含まれるCDI1.1より、beans.xmlをアーカイブに含めなくてもCDIが有効となるように仕様が変更されました。この改善点、Java EE 6ユーザにとっては少し困惑する部分があったので、まとめておきます。 CDIとはなんぞやについてはこちらもご参照ください。 CDI1.1からはbeans.xmlがなくてもCDIが有効になる CDI1.0(Java EE 6)では、WEB-INF/beans.xmlを空ファイルでも良いので含めることで、CDIが有効となり、様々なJava EEコンポーネント(JSFのバッキングBeanやEJBなど)に@Injectで任意のクラスのインスタンスをインジェクションできました。 CDI1.1からは、WARファイルやEARファイルのなかに『bean defining annotationが付与されたクラス』または『セッションBean』が含ま

    Java EE環境におけるCDIのデフォルト化 - n-agetsumaの日記
  • CDIをはじめよう - n-agetsumaの日記

    少し時間が経ってしまいましたが、2013年11月のJJUGナイトセミナーで Java EE 6 から導入されたDI/AOP仕様であるCDIについて話す機会を頂きました。 JJUG 11月ナイトセミナー CDIをはじめよう from Norito Agetsuma 補足 : インタフェースを作るべきか 資料中では『インタフェースを作りましょう』と書いていますが、DIをユニットテストのしやすさを目的に使う場合は実装クラスをそのままインジェクションしても良いと思います。mockitoなどの使いやすいモックフレームワークが出てきているためです。mockitoを使うと、インタフェースをテスト用に実装した"ベタな"モックを作らなくても実装クラスの挙動を変更することができます。 mockitoを使う 例えば、以下のようなシンプルな課金処理サービスがあったとします。 CDIで顧客情報を持ってくるリポジトリ

    CDIをはじめよう - n-agetsumaの日記
  • 1