Динамические прокси используются для выполнения дополнительного кода до / после методов ваших bean-компонентов.Самым тривиальным примером является обработка транзакций:
- spring создает прокси вокруг ваших бинов, которые нуждаются в транзакциях
- , если метод объявлен транзакцией (например, аннотирован1010 *) прокси начинает новую транзакцию и делегирует реальному методу
- реальный метод выполняется и возвращает
- прокси теперь фиксирует (или откатывает) транзакцию
Таким образом, ваш код становится независимым от транзакций.И когда транзакционный бин внедряется в другой, на самом деле вводится прокси (того же типа, что и ваш бин)
А прокси динамические, потому что во время компиляции Spring не знаеттипы всех ваших bean-компонентов, поэтому он должен создавать прокси во время выполнения.