倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

AspectJ

「アスペクト・ライブラリを作る」への注意

前回までに、アスペクト・ライブラリの作成の仕方を見てきました。 今回は、アスペクト・ライブラリの作成に当たっての注意を1つ。アスペクト・ライブラリの作成方法を書くに当たって参考にしたドキュメントは、AspectJ のコンパイル&織り込みを行うツール…

アスペクト・ライブラリを作る 其ノ参 -- アスペクト・ライブラリを使用する

今回は、前回作成したアスペクト・ライブラリを使用してみましょう。アスペクト・ライブラリを使用するプロジェクトは「greeting-app」とします。pom.xml とりあえず、サンプルを。 <project> <modelVersion>4.0.0</modelVersion> <groupId>org.sample</groupId> <artifactId>greeting-app</artifactId> <packaging>jar</packaging> <version>0.1</version> <dependencies> <dependency> <groupId>org.s…</groupid></dependency></dependencies></project>

Inpath と Aspect Path の追加

今回は、AspectJ を用いた開発で、他のライブラリを使用する際に必要となる、「Inpath」「Aspect Path」の追加方法を見ていきましょう。Inpath 既存プロジェクトにアスペクトを織り込みたい場合は、既存プロジェクトを「Inpath」に設定します。 Maven2 で「w…

アスペクト・ライブラリを作る 其ノ弐 -- 「アスペクト・ライブラリ」プロジェクト

今回は、前回のサンプル・ライブラリに対するアスペクト・ライブラリを作成しましょう。 プロジェクト名は「greeting-lib」とします。pom.xml とりあえずサンプルを。 <project> <modelVersion>4.0.0</modelVersion> <groupId>org.sample</groupId> <artifactId>greeting-lib</artifactId> <packaging>jar</packaging> <version>0.1</version> <dependencies> <dependency> <groupId>org.sample<…</groupid></dependency></dependencies></project>

アスペクト・ライブラリを作る 其ノ壱 -- サンプル

アスペクト指向プログラミングの1つの使用法として、「既存のライブラリにアスペクトを織り込んで、機能を拡張する」というものがあります。 この織り込む機能を実装した AspectJ コード(と成果物)を「アスペクト・ライブラリ」と呼びましょう。今回から何…

AspectJ プロジェクトの POM ファイルへの修正

以前の記事で AspectJ プロジェクトの POM ファイル(の雛形)を書きましたが、少々不具合(っぽいもの)があったのでご報告。問題 aspectj プラグインの設定をしている箇所(/project/build/plugins/plugin)が <project> ... <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plug</artifactid></plugin></project>…

AOP 開発環境 其ノ四 -- 続・Aspect の作成 &amp; 若干の設定

以前の記事で アスペクトの作成方法を紹介しましたが、毎回「New」ダイアログを開くのは面倒。 なので、少々設定をして、クラスやパッケージを作成するのと同じ方法でアスペクトを作成できるようにしましょう。(1) まず、 [メニュー]Window → Customize Pers…

AspectJ プロジェクトの POM ファイル

前回 Maven2 主導で AspectJ プロジェクトを作成する方法を見ました。 しかし、この手順は結構面倒臭いので、チョットでも手間が省けるように、POM ファイルのテンプレートを載せておきます(ダウンロードはこちらから)。POM ファイルのテンプレート <project> <modelVersion>4.0.0</modelVersion></project>…

Maven2 主導で AspectJ プロジェクトを作成する

以前の記事で、Eclipse 上の AspectJ プロジェクトを Maven2 で扱えるようにする方法を見ました。しかし、外部ライブラリを使用する場合、POM ファイルによって依存性を管理できるといろいろ便利です。 なので、今回は Maven2 主導の AspectJ プロジェクト作…

Aspectj -- test-compile ゴールとテスト・コード内のアスペクトの織り込み

aspect-maven-plugin には前回まで見ていた「compile ゴール」の他に、「test-compile ゴール」が定義されています。 このゴールはテスト・コードに対して「コンパイル」と「織り込み」を行います。 「test-compile ゴール」に定義されているパラメータは、…

Aspectj -- AspectJ プロジェクト(Eclipse) → Maven2 プロジェクト

AspectJ を用いてアスペクト指向開発を行う場合、「Eclipse + AJDT」という環境が最も手軽かと思います。 今回は、この環境で作成した AspectJ プロジェクトを Maven2 プロジェクトとして認識されるようにする仕方を見ていきましょう。 これによって、AJDT …

Aspectj -- 設定可能なパラメータ 其ノ弐 ライブラリと weaving

今回は、Aspect が関連するライブラリの取り扱い方を見ていきます。 以下の説明で使う例を定義しておきます(下図参照): [MyProject]・・・現在開発中のプロジェクト [Library A]・・・Java クラスを含む(通常の)外部ライブラリ [Library B]・・・ Aspec…

Aspectj -- 設定可能なパラメータ 其ノ壱

今回は、aspect-maven-plugin に定義されている「compile ゴール」で設定できるパラメータを見ていきましょう。 全て紹介するのは面倒なので、独断と偏見で幾つか見繕って説明します(次回以降にも続く。 パラメータ一覧はこちら): encoding source, targe…

Aspectj -- 必要最小限の設定とフォルダ構造

「プロジェクト管理ツール」Maven2 で、AspectJ を使用するプロジェクトを扱う方法を見ていきましょう。POM ファイルに行う変更は aspectjrt への依存性を付加する コンパイル時に weaving*1 を行うようにする です。 また、ソース・コードの配置フォルダに…

AOP 開発環境 其ノ参 -- Aspect の作成 & 若干の設定

前回は AspectJ プロジェクトを作成しました。 今回は Aspect を作成しましょう。Aspect 作成する方法は、概ね次の2通りかと思います: 「New Aspect」ダイアログにしたがって作成する 拡張子が ".aj" のファイルを作成する 2番目の方法は、拡張子を ".aj" …

AOP 開発環境 其ノ弐 -- AspectJ プロジェクトを作成する

前回は Eclipse に AJDT (AspectJ Development Toolkit) をインストールしました。 今回はそこに AspectJ プロジェクトを作成しましょう。 これには次の2通りの方法で行えます: AspectJ プロジェクトを新規に作成する 既存の Java プロジェクトを AspectJ …

AOP 開発環境 其ノ壱 -- AJDT のインストール

Eclipse 上でアスペクト指向プログラミング(Aspect-oriented Programming、以下 AOP )の開発環境のセットアップ方法をご紹介。アスペクト指向言語には eclipse.org の "Tools Project" で開発されている「aspectj」を、aspectj 開発用の Eclipse プラグイ…