2012-01-25 12 views
3

使用しているクラスのフィールドのゲッタ/セッタを生成するアスペクトを書きたいと思っています。AspectJでゲッタ/セッタを生成する

私はAspectJの初心者です。誰かが正しい方向に向かうことができますか?サンプルが素敵でしょう。

答えて

1

あなたが探しているものはProject Lombokです。ゲッター/セッターやその他の便利なメソッドを生成します。 Eclipseと統合されているため、技術的に存在しないアクセサが見えます。

+0

これは私が必要とするものですが、 '@ Getter'と' @ Setter'を動的に追加する必要があります。これはAspectJで可能でしょうか? –

+0

プロジェクトLombokはコンパイル時に動作します。注釈を動的に追加しても問題は解決されません。 – EdMelo

0

(完全にはわからないが...)私はアスペクトのプログラミングがインタフェースではなくクラスに振る舞いを加えることができることを肯定している。実行時にgetter/setterを生成することができれば...とにかく、まだ存在しないので、あなたのコードでそれらを呼び出すことはできません。コンパイル時にエラーが発生します。

多分あなたはいくつかのIDEソースジェネレータを使用することができます。 Eclipseの場合:ソースメニュー - >ゲッター/セッターを生成する。

+1

実際には、ITDを使用して、ミックスインとして動作するように、インターフェイスと抽象クラスにビヘイビアを追加できます。あなたはまだインターフェイスをインスタンス化することができませんが、それを実装するすべてのクラスは、インターフェイスに追加された動作を持ちます。 – EdMelo

4

Spring Rooは、AspectJ ITDを生成することによってゲッターとセッターを生成します。

最もエレガントなものではありませんが、lambokのような他のもののランタイムコストを払って仕事を完了させます。

+0

ロンボクはランタイムオーバーヘッドを持っていません。 –

関連する問題