[解決済み] Spring AOPとAspectJの比較
2022-04-20 06:15:07
質問
Spring AOPは、フレームワークとしてカスタムJava5アノテーションを使用するため、セキュリティ、ロギング、トランザクションなど、アプリケーション固有のタスクに使用するのが最適という印象を持っています。しかし、AspectJはデザインパターンの面でよりフレンドリーであるように思えます。
SpringアプリケーションでSpring AOPとAspectJを使用する際の様々な長所と短所を強調できる方はいらっしゃいますか?
どのように解決するのですか?
Spring-AOPのプロフェッショナル
-
LTWを使う必要がないので、AspectJよりシンプルに使える( ロードタイムウィービング やAspectJのコンパイラを使用します。
-
ProxyパターンとDecoratorを使用します。 パターン
Spring-AOPの短所
- プロキシベースのAOPなので、基本的にメソッド実行のジョインポイントしか使えません。
- 同じクラス内の別のメソッドを呼び出す際には、アスペクトは適用されません。
- 実行時に若干のオーバーヘッドが発生することがあります。
- Spring-AOPでは、Springファクトリーで作成されていないものにはアスペクトを追加できない
AspectJの長所
- すべての結合点をサポートしています。つまり、何でもできるのです。
- Spring AOPに比べ、実行時のオーバーヘッドが少ない。
AspectJの短所
- 注意すること アスペクトが織り込まれたかったものだけに織り込まれているかどうか確認してください。
- AspectJコンパイラでビルドする必要がある、またはLTW(load-time weaving)を設定する必要がある。
関連
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
Spring boot runs with Error creating bean with name 'entityManagerFactory' defined in class path resource
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
JSPで「リストが型解決できない!」の解決方法
-
このラインで複数のマーカーを解決する方法
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
-
[解決済み】Spring - @Transactional - バックグラウンドで何が起こっているのか?
-
[解決済み】BeanFactoryとApplicationContextの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
この行に複数のマーカーがある - HttpServletResponseが型エラーに解決できない
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
Spring BootのテストメソッドFailed to load ApplicationContextの問題を解決する
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
Error: java.lang.NoClassDefFoundError: クラス XXXX を初期化できませんでした
-
起動時にEclipseエラーが発生しました。起動中に内部エラーが発生しました。java.lang.NullPoin: "Javaツーリングの初期化 "中に内部エラーが発生しました。
-
JSPで「リストが型解決できない!」の解決方法
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
ローカルリソースのロードが許可されていない場合の解決策