本エントリではJavaEEの中でも屈指の便利機能、CDI(Contexts and Dependency Injection)を紹介します。 なお、本エントリではJavaEE7に搭載されているCDI1.1を前提とします。JavaEE6はCDI1.0となり、本エントリのコードに一部動作しなくなる箇所がありますのでご注意ください。 CDIとは CDIとは、JavaEE6から採用された、JavaEEにおけるDI機能のことです。DIについての詳しいことはこちらのエントリをご覧いただくとして、本エントリではCDIの特筆すべき機能に焦点を当てることにします。 CDIの真髄・スコープ管理 CDIの真髄はインスタンスの存命期間、すなわちスコープを管理してくれることです。 Webアプリケーションを作っていると「このオブジェクトの持つ情報をしばらくの間保持したままにしておきたい」と思うことがあります。例えば次