从spring bean名称获取类对象

时间:2016-08-29 19:26:37

标签: java spring

我找不到春天的豆类了。我目前唯一的信息是bean id。

在我的应用程序上下文中,我有以下bean:

 <bean id="someConfig" class="com.foo.bar.GenericConfig">

我目前只有班级名称&#34; someConfig&#34;。如何从bean名称中获取Class?有没有办法在不使用ApplicationContext.getBean()的情况下执行此操作?

理想情况下,我希望能够做到这样的事情:

Class<?> clazz = getClass("someConfig");

1 个答案:

答案 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)