Spring Framework における AOP とプロキシパターンの実装
横断的関心事の分離
アプリケーション開発において、ログ記録やトランザクション管理、セキュリティチェックなどの機能は、ビジネスロジックとは独立して複数の箇所に必要となります。これらを横断的関心事(Cross-cutting Concerns)と呼びます。これらのコードを各メソッドに直接記述すると、コードの重複が発生し、保守性が低下します。
例えば、算術演算を行うインター ...
7月6日 19:46 投稿
Spring AOPでのアスペクト実装:アノテーションとXMLによる設定ガイド
Spring AOP (アスペクト指向プログラミング) の概要
Spring Frameworkが提供するAOP(アスペクト指向プログラミング)機能は、ロギング、トランザクション管理、セキュリティといった横断的な関心事をモジュール化し、ビジネスロジックから分離するための強力なパラダイムです。これにより、コードの凝集度を高め、保守性を向上させることができます。Spring AOPは主にAspe ...
6月12日 18:03 投稿
Spring AOP の自動設定とプロキシ生成メカニズム
Spring Boot では、AOP 機能を有効にするために AopAutoConfiguration という自動設定クラスが提供されている。このクラスは特定の条件が満たされた場合にのみ有効化され、AspectJ ベースの AOP を自動的に設定する。
@Configuration
@ConditionalOnClass({ EnableAspectJAutoProxy.class, Aspect.class, Advice.class, AnnotatedElement.class })
@ConditionalOnProperty ...
6月7日 20:49 投稿
Spring AOPの概要と利用方法
はじめに
ソフトウェア開発の目的はさまざまな要件を満たすことです。これらの要件はビジネス要件とシステム要件に分けられます。例えば、ログイン機能において、ユーザーがパスワードを入力してログインする動作はビジネス要件ですが、ログイン前後にログを出力する処理はシステム要件です。同様に、ユーザーがデータを取得する動作はビジネス要件ですが、アクセス時に権 ...
5月31日 07:03 投稿
Sentinelリソース管理のためのアノテーション
アノテーションによるリソース管理
Sentinelは、@SentinelResourceアノテーションを使用してリソースを定義し、AspectJ拡張機能を利用して自動的にリソースを設定したりBlockExceptionを処理することができます。この機能を利用するには以下の依存関係が必要です:
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel ...
5月22日 21:45 投稿