我试图使用XmlWebApplicationContext setConfigLocations方法加载Spring bean。但是,我不断得到一个
BeanIsAbstractException
我知道这个bean是抽象的,我用这种方式配置了它,所以Spring应该知道不要尝试实例化它。
我使用Spring2.0.8.jar和jetspeed2.1。
Spring bean:
<bean id="ThreadPool" abstract="true" class="com.sample.ThreadPoolFactoryBean"/>
代码:
ctx = appContext;
appContext.refresh();
BeanFactory factory = appContext.getBeanFactory();
String[] beansName = appContext.getBeanFactory()
.getBeanDefinitionNames();
...
map.put(beansName[mnCnt], factory.getBean(beansName[mnCnt]));
有人有主意吗?
发布于 2018-06-04 15:18:24
例子:
class Fruit {
private String colour;
private String name;
// setters...
}
class Car {
private String colour;
private String manufacturer;
// setters...
}
和:
<!-- specifying a class for an abstract bean is optional -->
<bean id="sharedPropsBean" abstract="true">
<property name="colour" value="red" />
</bean>
<bean id="myFruit" parent="sharedPropsBean" class="Fruit">
<property name="name" value="apple" />
</bean>
<bean id="myCar" parent="sharedPropsBean" class="Car">
<property name="manufacturer" value="Ferrari" />
</bean>
https://stackoverflow.com/questions/-100000215
复制相似问题