In your case your bean is behind a CGLIB proxy.
It creates a subclass of your bean and as the method has final
modifier it can't change the behavior of the original ResponseEntityExceptionHandler
class to insert a call to the bean behind - please check my other answer about CGLIB.
CGLIB proxy is a different object that delegates the method calls to the original bean.
Please note that it would not be possible to implement much of Spring functionality only with subclassing i.e. without this separation of objects. How would it work when singleton-scoped
bean references a session-scoped
bean - obviously there are many session-scope
beans and only one singleton-scoped
bean.