Механизм проксирования: JDK Dynamic Proxy vs CGLIB
Spring AOP работает, оборачивая целевые бины в объекты-прокси, которые перехватывают вызовы методов и применяют советы. Spring автоматически выбирает между двумя стратегиями прокси: JDK Dynamic Proxy (на основе интерфейса) и CGLIB (на основе подкласса). Понимание того, какой из них используется и когда, объясняет некоторые неожиданные поведения AOP.