首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Spring BeanIsAbstractException怎么解决?

Spring BeanIsAbstractException怎么解决?
EN

Stack Overflow用户
提问于 2018-06-04 06:51:55
回答 2查看 0关注 0票数 0

我试图使用XmlWebApplicationContext setConfigLocations方法加载Spring bean。但是,我不断得到一个

代码语言:javascript
复制
BeanIsAbstractException

我知道这个bean是抽象的,我用这种方式配置了它,所以Spring应该知道不要尝试实例化它。

我使用Spring2.0.8.jar和jetspeed2.1。

Spring bean:

代码语言:javascript
复制
<bean id="ThreadPool" abstract="true" class="com.sample.ThreadPoolFactoryBean"/>

代码:

代码语言:javascript
复制
ctx = appContext;
    appContext.refresh();
    BeanFactory factory = appContext.getBeanFactory();
    String[] beansName = appContext.getBeanFactory()
            .getBeanDefinitionNames();

...

map.put(beansName[mnCnt], factory.getBean(beansName[mnCnt]));

有人有主意吗?

EN

回答 2

Stack Overflow用户

发布于 2018-06-04 15:18:24

例子:

代码语言:javascript
复制
class Fruit {
    private String colour;
    private String name;
    // setters...
}

class Car {
    private String colour;
    private String manufacturer;
    // setters...
}

和:

代码语言:javascript
复制
<!-- 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>
票数 0
EN

Stack Overflow用户

发布于 2018-06-04 16:15:27

Spring bean:

代码语言:txt
复制
<bean id="ThreadPool" abstract="true" class="com.sample.ThreadPoolFactoryBean"/>

代码:

代码语言:txt
复制
ctx = appContext;
    appContext.refresh();
    BeanFactory factory = appContext.getBeanFactory();
    String[] beansName = appContext.getBeanFactory()
            .getBeanDefinitionNames();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档