如果被Spring包装到代理中,如何知道原始类名?

时间:2015-04-01 15:45:20

标签: java spring proxy-classes cglib

我正在getClass().getSimpleName()Spring尝试获取一些类名称,并返回类似

的内容
MyClass$$EnhancerBySpringCGLIB$$SOMEHEX

这可能是因为Spring将类封装到代理中。

是否有任何可移植的方式来获取原始类名?

1 个答案:

答案 0 :(得分:12)

Spring为此提供了一个实用程序。

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/ClassUtils.html#getUserClass-java.lang.Class-

public static Class<?> getUserClass(Class<?> clazz)

“返回给定类的用户定义类:通常只是给定的类,但是在CGLIB生成的子类的情况下是原始类。”