簡體   English   中英

如何獲取 bean 真正的 class 而不是 CGlib 代理?

[英]How to get a bean real class instead CGlib proxy?

我有一個配置bean:

@Configuration
@ConfigurationProperties(prefix = "core.organizations")
public class PermissionConfig {
...
}

我想得到它真正的 class。 如果我通過方法bean.getClass()獲得它,我將獲得 CGlib 代理。

我試過使用AopUtils.getTargetClass(bean)AopProxyUtils.ultimateTargetClass(bean) ,但它返回相同的代理

根據spring github 票

AopUtils.getTargetClass(bean)不適用於注釋為@Configuration的 bean。 我為我的 bean 使用ClassUtils.getUserClass(bean) 有效

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/ClassUtils.html#getUserClass-java.lang.Object-

您可以使用 ClassUtils.getUserClass(Object bean) 來獲取 CGLIB 生成的子類的父 class。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM