CDIメモ
2013年6月29日 (土) 16:51時点におけるAdmin (トーク | 投稿記録)による版 (ページの作成: {{Stub}} Category:ソフトウェア開発 Category:Java JSR 299で定義されているCDIのサンプルコードです。CDIに関する日本語のドキュメン...)
注意 : このページ「CDIメモ」は、現在書きかけの状態です。完成版に向けて、今後加筆・修正します。また、本ページの内容は全体的な整合性が取れていない可能性があります。 |
JSR 299で定義されているCDIのサンプルコードです。CDIに関する日本語のドキュメントが無いので、作成してみようと思った次第です。
環境
- GlassFish : 3.1.2
シンプルなCDIサンプル
呼び出し側
package tmp;
import java.io.IOException;
import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/Main00")
public class Main00 extends HttpServlet {
@Inject
private CdiTest cdi;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
cdi.hello();
}
}
Injectionクラス
package tmp;
public class CdiTest {
public CdiTest() {
System.out.println("init.");
}
public void hello() {
System.out.println("hello.");
}
}
実行結果
以下、ブラウザでサーブレットを複数回呼び出したときのログです。
情報: init.
情報: hello.
情報: hello.
情報: hello.
情報: hello.
サーブレット初回コール時に、CdiTestのコンストラクタが呼ばれ、インスタンスが使い回しされます。
更新履歴
- 仮ページ作成 -- 2013年6月30日 (日) 01:51 (JST)