Меня всегда очень раздражали некоторые приложения, которые мне теперь приходится поддерживать, которые настаивают на использовании проксирования по классам вместо проксирования по интерфейсу. В частности, у меня есть классы сервисного уровня, которые проксируются, но я не могу сделать их окончательными (хотя они должны быть), потому что по какой-то причине кто-то решил, что они должны быть проксированы фактическим классом, а не через интерфейс (хотя все из этих классов в любом случае есть интерфейсы).
Помимо отсутствия необходимости создавать интерфейс, есть ли реальная причина использовать прокси через целевой класс, а не прокси на основе целевого интерфейса в конфигурации Spring AOP?