Почему прокси-класс необходим для Spring AOP? - PullRequest
0 голосов
/ 13 сентября 2010

Какова ответственность прокси-класса в AOP?Какова роль этого?

1 Ответ

5 голосов
/ 13 сентября 2010

Динамические прокси используются для выполнения дополнительного кода до / после методов ваших bean-компонентов.Самым тривиальным примером является обработка транзакций:

  • spring создает прокси вокруг ваших бинов, которые нуждаются в транзакциях
  • , если метод объявлен транзакцией (например, аннотирован1010 *) прокси начинает новую транзакцию и делегирует реальному методу
  • реальный метод выполняется и возвращает
  • прокси теперь фиксирует (или откатывает) транзакцию

Таким образом, ваш код становится независимым от транзакций.И когда транзакционный бин внедряется в другой, на самом деле вводится прокси (того же типа, что и ваш бин)

А прокси динамические, потому что во время компиляции Spring не знаеттипы всех ваших bean-компонентов, поэтому он должен создавать прокси во время выполнения.

...