Java/CDI(JSR299,JSR346)とDI(JSR300)のメモ (v1)
Java / CDI(JSR299,JSR346)とDI(JSR300)のメモ (v1)
id: 1352 所有者: msakamoto-sf
作成日: 2015-02-15 22:06:00
カテゴリ: Java
勉強用の、参考URLのリンク集、メモ書きです。
- Contexts and Dependency Injection
JavaEEのバージョン:
- JavaEE6 : JSR299, CDI Version 1.0
- JavaEE7 : JSR346, CDI Version 1.1
2015-02現在、Java8も踏まえた2.0を策定中らしい。JavaEEに組み込まれるとしたら、JavaEE8からかな?
個人的には以下の記事にある通り、testabilityの向上と依存関係の排除という効果に期待が大きい。
- CDIが業務システム開発にもたらすメリットとは? EJBとの使い分けは?──最新Java EE開発“虎の穴” 第3回 上妻宜人氏 - builder by ZDNet Japan
同時に、オブジェクトのライフサイクルや注入されるタイミングなど、CDIの仕様とのすり合わせ・調査などで、CDIのレイヤーに関わる検証やトラブルが増えることも予想される。
また、DIコンテナは便利「すぎる」部分もあると思う。本来の想定範囲を踏まえた上での意図的な逸脱ならまだしも、技術的に可能というだけでイレギュラーな設定や使い方を当たり前のものとしてしまうと、後々大きなトラブルに繋がりそうなので、気にしておきたい。
他参考
- CDIをはじめよう - 見習いプログラミング日記
- Java EE環境におけるCDIのデフォルト化 - 見習いプログラミング日記
近接仕様としてのJSR300 : Dependency Injection for Java
- https://jcp.org/en/jsr/detail?id=330
- mike、mikeなるままに…: CDIについて書こうとしたら、JSRを読み始めて、結果JSR330を実装してみようとしてみた件について
- What Is The Relation Between JSR-299 and JSR-330 In Java EE 6? Do We Need Two DI APIs? : Adam Bien's Weblog
実装の代表
参考:
- 心地良すぎるDependency Injectionライブラリ Guice - nodchipの日記
- Java - Google Guice 使い方メモ - Qiita
- Java - Jersey2に組み込まれてるDI機能(HK2)を試す - Qiita
- HK2 の使い方(前編) - Programming Studio
- HK2 の使い方(後編) - Programming Studio
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2015-02-15 22:06:41
md5:2f633947a1cbe49fb99ae402cbe65ea8
sha1:2f271be177c1d5f57c99aa21253980aed7d5a415