我找不到春天的豆类了。我目前唯一的信息是bean id。
在我的应用程序上下文中,我有以下bean:
<bean id="someConfig" class="com.foo.bar.GenericConfig">
我目前只有班级名称&#34; someConfig&#34;。如何从bean名称中获取Class?有没有办法在不使用ApplicationContext.getBean()的情况下执行此操作?
理想情况下,我希望能够做到这样的事情:
Class<?> clazz = getClass("someConfig");
答案 0 :(得分:2)
正如您在javadoc中所看到的,有一个方法getType
可以返回该类。
的getType 类getType(String name) 抛出NoSuchBeanDefinitionException
确定具有给定名称的bean的类型。进一步来说, 确定getBean(java.lang.String)的对象类型 返回给定的名称。对于FactoryBean,返回类型 FactoryBean创建的对象,如公开的那样 FactoryBean.getObjectType()。
将别名转换回相应的规范bean名称。将 询问父工厂是否在这家工厂找不到豆子 实例
参数:
name - 要查询的bean的名称
返回:
bean的类型,如果不可确定则为null
抛出:
NoSuchBeanDefinitionException - 如果没有给定的bean 名称
自:
1.1.2
另见:
getBean(java.lang.String),isTypeMatch(java.lang.String, org.springframework.core.ResolvableType)