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

2022-09-02 00:58:38

我正在尝试通过 under 获取一些类名称,它返回类似的东西getClass().getSimpleName()Spring

MyClass$$EnhancerBySpringCGLIB$$SOMEHEX

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

有没有可移植的方法来获取原始类名?


答案 1

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

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生成的子类的情况下是原始类。


答案 2

推荐