タグ

CDIに関するhohoho_ho2005のブックマーク (28)

  • CDI(旧名WebBeans)入門 その3 - しんさんの出張所 はてなブログ編

    http://d.hatena.ne.jp/shin/20100105/p1 http://d.hatena.ne.jp/shin/20100107/p4 の続き。 前回までは実装クラスそのものの注入であったが、今回はインターフェースからの注入をやってみる。 注入の際にセッターによるインジェクションを使うところは減ってると思うので、実装速度重視の現場ではあんまり必要としてないだろうなとは思いつつも、まったくないとは言い切れてないので。なんでもインターフェースってのはかなりなくなったよね? まずはインターフェース。 package beans; public interface HelloInterface { String getMessage(String name); } 続いて実装クラス。 package beans; public class Hello implements He

    CDI(旧名WebBeans)入門 その3 - しんさんの出張所 はてなブログ編
  • JavaEE6のCDIのProducer Methodで動的DI - TYAGE EMOTION

    以前からJSR-330(Dependency Injection for Java)を勉強しようと思っていて、何かサンプル的なものがないか探していたのですが・・・結局のところ、JSR-330をいちばん手っ取り早く覚えられるのはJSR-299(Contexts and Dependency Injection for the JavaTM EE platform)略してCDIのようです。 てなわけで、CDIのRIであるJBoss Weldを少し触ってみました。 http://docs.jboss.org/weld/reference/1.0.0/en-US/html/index.html のWeldのドキュメントが詳しくてとても解りやすいです。 読んでいく中で興味を引かれたのが、CDIのProducer Methodという機能。これは大雑把に言うと、管理対象Bean上で、気軽に他の管理対象B

    JavaEE6のCDIのProducer Methodで動的DI - TYAGE EMOTION
  • CDI(旧名WebBeans)入門 その2 - しんさんの出張所 はてなブログ編

    http://d.hatena.ne.jp/shin/20100105/p1 の続き 今回はスコープ(インスタンスの寿命の管理)のお話。 まずはわかりやすくするためにコモンアノテーションをつける。 これはJava EE 5(つまりGlassfish V2とかTomcat 6とかの旧世代でも動く)やJava SE 6で定義されているもので、DIコンテナ等スコープを管理する場合実装されているべきものです。 EJB3でもSpringでもJSFでもServletでもフィルタでもリスナーでも対応していますね。ちなみにSpringは3.0でJSR-330対応しているのでこの連載で書いてることが注入方法だけはそのまま使えるはず。 カウンタ保持クラスを以下のようにしてみる。 package beans; import javax.annotation.PostConstruct; import javax

    CDI(旧名WebBeans)入門 その2 - しんさんの出張所 はてなブログ編
  • CDI(旧名WebBeans)入門 その1 - しんさんの出張所 はてなブログ編

    帰省前にCDIのコードをさらしてみたが、そもそもCDIがなんたるかを知らない人が多い気がするのでそのためのエントリ。 今回のほうを先に書くべきだったかな。 CDIとはJSR-299仕様のContexts and Dependency Injectionの略。つまり、大雑把に言えばWebアプリケーションにおけるDIコンテナの標準化をしようというもの。 JSR-330にDependency Injection for Javaという似たものがあり大変な混乱が見られたが、この2つは統合され、CDIはJSR-330のDIを利用するように変更になった。どちらもJava EE 6の一仕様となっている。 JSR-330というのはDIの書式の共通化を仕様というもので、中身はまんまGoogle Guice。したがって既存のDIコンテナを触ったことがあるのならすんなり触ることが出来るはずだ。 DIコンテナはそ

    CDI(旧名WebBeans)入門 その1 - しんさんの出張所 はてなブログ編
  • はじめてのCDI(旧名WebBeans) - しんさんの出張所 はてなブログ編

    http://d.hatena.ne.jp/Hirohiro/20091228/1262013022 ここ見て思い出した。そういやJava EE 6でWebBeansもきてるんだった。 個人的にはCDIという名前は好きではない。正式名称にしても覚えにくいし、検索が非常にしにくい。WebBeansは検索が容易だったのに。固有名詞は大事だよと。 というわけでWebBeansを軽く。 ただし、通常のJavaEE管理下のオブジェクトのInject注入だけってのはいろんなところにサンプルがあるし面白くないので、既存のフレームワークとの連携を考える場合で記述してみる。今回は説明しないが、WebBeansはすでにインスタンスが生成されたものも注入したり柔軟性は意識している。 まずはサーブレットからリクエストスコープのオブジェクトを取得、そリクエストスコープのオブジェクトにシングルトンのオブジェクトが注入

    はじめてのCDI(旧名WebBeans) - しんさんの出張所 はてなブログ編
  • InfoQ: JSR-299 と Weld 1.0 の Java EE と JBoss への影響についての Gavin King との Q&A

    原文(投稿日:2009/11/18)へのリンク Red Hat の JBoss 部門は、JSR-299: Contexts and Dependency Injection for Java EE(以降では CDI とする) のための Java EE 6 参照実装である、Weld 1.0.0 を出荷した。Weld は、Sun の GlassFish Application Server バージョン 3 および、来たる JBoss AS 5.2.0 で使われている実装である。しかしながら、完全なアプリケーションサーバを必要としない。Weld は、Jetty 6.1 や Tomcat 6 のようなサーブレットコンテナにおいて動作させることができるし、Java SE 5.0 以上とですらも動作する。後者を示すために、Weld 配布には、コンソールアプリケーションの例と Swing アプリケーショ

    InfoQ: JSR-299 と Weld 1.0 の Java EE と JBoss への影響についての Gavin King との Q&A
  • InfoQ: Java EE 6 に調和する依存性注入

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    InfoQ: Java EE 6 に調和する依存性注入
  • Spring3とCDIの比較 - makotanのブログ

    あくまで2012年の第四半期頃に触ったCDIとの比較なので、今の最新版はいろんなものが解消されてる・・・といいな〜 DIとしての機能 CDIはclassのスキャンを基にしてアノテーションだけで済まそうとしてる ただし、空っぽのxmlファイルは一つ絶対に必要 SpringはXMLでの定義が基 Scopeの違い CDIはSeamから継承してるスコープがある(conversation scope) Springは昔から変わってない 両方とも独自スコープを追加できるのであんまり絶対的な比較にならない気がする(Seasarは出来ないんだよなぁ〜) AOPの違い CDIはアノテーションでAOPを使う事を宣言して実際に適用するものはbean.xmlに書く SpringはXMLに書く必要がある。困ったことにいろんな書き方、種類があるので迷う。 ぶっちゃけSpringって駄目じゃんって思うのはいつもここ

    Spring3とCDIの比較 - makotanのブログ