Annotation EJB 3.0 コース 第3回 2006年8月4日.

Slides:



Advertisements
Similar presentations
オブジェクト指向 言語 論 第八回 知能情報学部 新田直也. 多相性(最も単純な例) class A { void m() { System.out.println( “ this is class A ” ); } } class A1 extends A { void m() { System.out.println(
Advertisements

S2.4 & S2EJB3Unit 中村( taedium ). Seasar 2.4 の特徴 1 Sesar 2.4 は EJB 3.0 を実 装しています。 EJB 3.0 の仕様は 5 月 12 日に Final Release されたばかりの新しい技 術です。
Web サービス II ( 第 13 回 )‏ 2008 年 1 月 9 日 植田龍男. 本日の目的 Web サービスの歴史と将来の展望 (1) WSDL 2.0 の登場 ‏ Jersey プロジェクト Ver 0.5 による開発.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
Apache Camel Data Format Component Apache Camel
2006年9月27日 植田龍男 Webサービス II (第1回) 年9月27日 植田龍男.
JPAを利用した RESTful Webサービスの開発
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:推奨タイプ (サンプルソースコードの公開)
Relation Mapping EJB 3.0 コース 第9回 2006年8月6日.
Apache Camel Data Format Component Apache Camel
WebサービスII (第10回) 2007年11月28日 植田龍男.
Javaのための暗黙的に型定義される構造体
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
Javaのインタフェース についての補足 2006年5月17日 海谷 治彦.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
WebサービスII (第8回) 2007年11月14日 植田龍男.
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
アプレット プログラミング 第10回 アプレット プログラミング第10回.
RMI ソフトウェア特論 第6回 /
稚内北星学園大学 情報メディア学部 安藤 友晴
プログラミング演習3 第2回 GUIの復習.
Stateful Session Beans
J2SE 5.0(Tiger)の新機能 言語編 Ariel Networks 開発部 中山 淳.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
暗黙的に型付けされる構造体の Java言語への導入
WebサービスII (第7回) 2007年11月7日 植田龍男.
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
ローカル変数とグローバル変数 ローカル変数  定義された関数内だけで使用できる変数 グローバル変数 プログラム全体で使用できる変数.
第6回 2007年6月1日 応用Java (Java/XML).
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
Collection, Generics, Iterator
Javaプログラムの変更を支援する 影響波及解析システム
Jakarta Struts (2) ソフトウェア特論 第11回.
Java8について 2014/03/07.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
Javaによる Webアプリケーション入門 第11回
アプリケーション依存の先読みが可能なO/Rマッピングツール
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
C#プログラミング実習 第3回.
Javaによる Webアプリケーション入門 第4回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
Action Method の実装 J2EE II 第9回 2004年12月2日.
稚内北星学園大学 情報メディア学部 安藤 友晴
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
統合開発環境のための プログラミング言語拡張 フレームワーク
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
cp-2. 属性,アクセサ (C++ オブジェクト指向プログラミング入門)
フレンド関数とフレンド演算子.
Project GlassFish と Java Pet Store
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
JSFによるWebアプリケーション開発 第7回
値渡しと参照渡しについて.
Josh : バイトコードレベルでのJava用 Aspect Weaver
Presentation transcript:

Annotation EJB 3.0 コース 第3回 2006年8月4日

きょうの目標 Annotation そのものについて理解する。 EJBでのAnnotationの利用と、その目的について概観する。

今回の講義内容 Annotationとはなにか EJB 3.0 の Entity Bean とAnnotation

Annotationとはなにか Annotationとはなにか EJB 3.0 の Entity Bean とAnnotation

Annotation とは? Annotation = 注釈 J2SE 5.0 (Tiger) から登場した新しい技術 EoD のための技術 それまで、JSR175 で議論されてきた。 EoD のための技術

Annotationの例 (1) public class Hoge extends Moge { @Override “@Override” の部分が Annotation Annotation は “@” からはじまる。 @Override は、moge メソッドに対する Annotation Moge クラスの doIt メソッドをオーバライドしていることを示す。 public class Hoge extends Moge { @Override public void doIt() { …… }

Annotation の例 (2) doIt メソッドは deprecated であることを示す。 public class Hoge { public void doIt() { …… }

Annotation の例 (3) Copyright は、Hoge クラスに対する Annotation @Copyright( value がメンバ名、tomoharu がメンバ値 複数のメンバを含めることができる。 @Copyright( value=“tomoharu” ) public class Hoge { …… }

Annotation の付加 Annotation は、クラス・メソッド・フィールド・引数などに付けることができる。

Entity BeanとAnnotation

Entity Bean とは? 「永続化」されているデータとの対応に用いるもの O/Rマッピング

これまでの Entity Beanの開発 Home インタフェースの作成 Remote (or Local) インタフェースの作成 実装クラスの作成 Deployment Descriptor (DD) ファイルの作成 ↓ たくさんのプログラムや 設定ファイルが必要になる

EJB 3.0 では POJO / POJI に Annotation を加える。 開発すべきプログラムや設定ファイルを減らすことができる。

Employee.javaでは (1) // Entity Bean である @Entity // EMP テーブルと関連づけられる @Table(name = "EMP") public class Employee implements java.io.Serializable { …… }

Employee.javaでは (2) // empNoプロパティはEntity BeanのIDである // テーブル中では主キーとなる @Column(name="EMPNO") public int getEmpNo() {return empNo; } ......

インピーダンス・ミスマッチとAnnotation(1) テーブル名、主キー、項目名、一対多の関係など 旧来の EJB では、こうした情報は DD ファイルに記述されていた。

インピーダンス・ミスマッチとAnnotation(2) Java プログラムの持つ情報 < テーブルの情報 Javaプログラムの持つ情報 + Annotation の情報 = インピーダンス・ミスマッチ インピーダンス・ミスマッチの解消

Annotationの導入による メリット EJB 3.0 の Entity Bean とAnnotation Annotationの導入によるメリット Annotationの処理

Annotation導入による メリット (1) これまでJava EEで提供されている各技術を使ってプログラムを作成するのは、なかなか大変な作業であった。 「インタフェース」と「実装クラス」 「お決まりのパターン」の記述 設定ファイルの記述 ……

Annotation導入による メリット (2) プログラムが単純になる プログラムの量も減る プログラムの設定情報の対応が明確になる ↓ EoD

Annotationの処理 Annotationとはなにか EJB 3.0 の Entity Bean とAnnotation

Annotationの処理 (1) Annotation は単独では意味を持たない。

Annotationの処理 (2) 実行されているプログラムから ソースコードから Reflection API を用いて、Annotation を読み取る ソースコードから apt (Annotation Processor Tool) コマンドを使う プログラマは「ファクトリ」と「プロセッサ」を作成して Annotation を読み取る