AOPのプロキシクラスの責任は何ですか?その役割は何ですか?
1 に答える
5
動的プロキシは、Bean のメソッドの前後に追加のコードを実行するために使用されます。最も些細な例は、トランザクション処理です。
- spring は、トランザクションが必要な Beanの周りにプロキシを作成します
- メソッドが transactiona と宣言されている場合 (たとえば、 で注釈が付けられている場合
@Transactional
)、プロキシは新しいトランザクションを開始し、実際のメソッドに委譲します。 - 実際のメソッドが実行されて返されます
- プロキシはトランザクションをコミット (またはロールバック) します
したがって、コードはトランザクションに依存しなくなります。また、トランザクション Bean が別の Bean に注入されると、実際に注入されるのはプロキシです (これは Bean と同じタイプです)。
また、プロキシは動的です。Spring はコンパイル時にすべての Bean のタイプを認識していないため、実行時にプロキシを作成する必要があります。
于 2010-09-13T08:48:12.650 に答える