0

AOPのプロキシクラスの責任は何ですか?その役割は何ですか?

4

1 に答える 1

5

動的プロキシは、Bean のメソッドの前後に追加のコードを実行するために使用されます。最も些細な例は、トランザクション処理です。

  • spring は、トランザクションが必要な Beanの周りにプロキシを作成します
  • メソッドが transactiona と宣言されている場合 (たとえば、 で注釈が付けられている場合@Transactional)、プロキシは新しいトランザクションを開始し、実際のメソッドに委譲します。
  • 実際のメソッドが実行されて返されます
  • プロキシはトランザクションをコミット (またはロールバック) します

したがって、コードはトランザクションに依存しなくなります。また、トランザクション Bean が別の Bean に注入されると、実際に注入されるのはプロキシです (これは Bean と同じタイプです)。

また、プロキシは動的です。Spring はコンパイル時にすべての Bean のタイプを認識していないため、実行時にプロキシを作成する必要があります。

于 2010-09-13T08:48:12.650 に答える