#navi_header|Java| 勉強用の、参考URLのリンク集、メモ書きです。 - Contexts and Dependency Injection -- http://www.cdi-spec.org/ JavaEEのバージョン: - JavaEE6 : JSR299, CDI Version 1.0 -- https://jcp.org/en/jsr/detail?id=299 - JavaEE7 : JSR346, CDI Version 1.1 -- https://jcp.org/en/jsr/detail?id=346 -- CDI Version 1.2というのもあるが、1.1に対するメンテナンスリリースのようだ。 --- https://jcp.org/aboutJava/communityprocess/mrel/jsr346/index.html 2015-02現在、Java8も踏まえた2.0を策定中らしい。JavaEEに組み込まれるとしたら、JavaEE8からかな? 個人的には以下の記事にある通り、testabilityの向上と依存関係の排除という効果に期待が大きい。 - CDIが業務システム開発にもたらすメリットとは? EJBとの使い分けは?──最新Java EE開発“虎の穴” 第3回 上妻宜人氏 - builder by ZDNet Japan -- http://builder.japan.zdnet.com/sp_oracle/weblogic/35045391/ 同時に、オブジェクトのライフサイクルや注入されるタイミングなど、CDIの仕様とのすり合わせ・調査などで、CDIのレイヤーに関わる検証やトラブルが増えることも予想される。 また、DIコンテナは便利「すぎる」部分もあると思う。本来の想定範囲を踏まえた上での意図的な逸脱ならまだしも、技術的に可能というだけでイレギュラーな設定や使い方を当たり前のものとしてしまうと、後々大きなトラブルに繋がりそうなので、気にしておきたい。 他参考 - CDIをはじめよう - 見習いプログラミング日記 -- http://n-agetsuma.hatenablog.com/entry/2013/12/11/211017 - Java EE環境におけるCDIのデフォルト化 - 見習いプログラミング日記 -- http://n-agetsuma.hatenablog.com/entry/2013/08/18/130358 近接仕様としてのJSR300 : Dependency Injection for Java - https://jcp.org/en/jsr/detail?id=330 - mike、mikeなるままに…: CDIについて書こうとしたら、JSRを読み始めて、結果JSR330を実装してみようとしてみた件について -- http://mikeneck.blogspot.jp/2012/12/cdijsrjsr330.html - What Is The Relation Between JSR-299 and JSR-330 In Java EE 6? Do We Need Two DI APIs? : Adam Bien's Weblog -- http://www.adam-bien.com/roller/abien/entry/what_is_the_relation_between 実装の代表 - Google Guice -- https://github.com/google/guice - HK2 -- https://hk2.java.net/ 参考: - 心地良すぎるDependency Injectionライブラリ Guice - nodchipの日記 -- http://d.hatena.ne.jp/nodchip/20130126/1359161946 - Java - Google Guice 使い方メモ - Qiita -- http://qiita.com/opengl-8080/items/6fb69cd2493e149cac3a - Java - Jersey2に組み込まれてるDI機能(HK2)を試す - Qiita -- http://qiita.com/opengl-8080/items/9bdc98aa5269512bd70e - HK2 の使い方(前編) - Programming Studio -- http://www.coppermine.jp/docs/programming/2014/12/hk2-1.html - HK2 の使い方(後編) - Programming Studio -- http://www.coppermine.jp/docs/programming/2014/12/hk2-2.html #navi_footer|Java|