问题描述
我有一个未知范围的 bean 的名称。我正在尝试以可靠的方式(处理代理)确定它的 static 类型(用 @Component
等)。
-
@Bean
给了我一个代理类。 -
beanfactory.getType(beanName)
在很多情况下会给我一个beanfactory.getBeanDeFinition(beanName).getResolvableType()
。
所有用于确定 bean 类型的实用方法,如 EmptyType
和 AopUtils.getTargetClass()
都需要一个实际实例,对于非单例,我无法安全地获得该实例。
如果 bean 是由工厂方法创建的,我可以通过 AopProxyUtils.ultimateTargetClass()
找到该方法并从那里获取其返回类型。但是对于 beanDeFinition.getSource()
带注释的类似乎没有任何可能。我可以获取类名称,但不能获取类本身(按名称加载它是我宁愿避免的一堆蠕虫)。
我可以在这里做些什么吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)