Spring creates proxies and by default JDK Dynamic Proxies, it basically creates a dynamic class a boottime (those nice $Proxy42 classes) which act like instances of your interfaces. If you now call get class you will get that dynamically created classes.
Use the AopProxyUtils
utility class from spring to get the actual Class which contains the annotations.
So instead of
Class<?> clazz = someObject.getClass();
do
Class<?> clazz = AopProxyUtils.ultimateTargetClass(someObject);
That should give you the actual (wrapped) class.