Поговорим о Spring AOP — мощном инструменте, который позволяет выносить сквозную функциональность из бизнес-логики.
Это как если бы вы могли добавить логирование, транзакции или безопасность в любые методы — без изменения их кода. Разберём: AOP (Aspect-Oriented Programming) — это парадигма программирования, которая позволяет разделить основную бизнес-логику и сквозную (cross-cutting) функциональность. Это код, который повторяется во многих местах, но не относится напрямую к бизнес-логике: Без AOP такой код "размазывается" по всему приложению → дублирование, сложность поддержки. 💡 AOP позволяет внедрить эту логику автоматически, не загрязняя основной код. Aspect Модуль сквозной функциональности (например, "логирование") Joinpoint Точка в программе, где можно применить аспект (например, вызов метода) Advice Действие, которое выполняется в Joinpoint (например, "запиши в лог") Pointcut Выражение, определяющее, к каким Joinpoint'амприменяется Advice Weaving Процесс применения аспектов