Java ';bean实例化失败;它是一个抽象类吗;尝试用抽象父级实例化bean时
我试图通过继承父bean(抽象的)在Spring上下文上实例化一个bean,而不需要类定义。像这样:Java ';bean实例化失败;它是一个抽象类吗;尝试用抽象父级实例化bean时,java,spring,spring-mvc,hybris,Java,Spring,Spring Mvc,Hybris,我试图通过继承父bean(抽象的)在Spring上下文上实例化一个bean,而不需要类定义。像这样: <bean id="childBean" parent="abstractBean"> ... </bean> <bean id="abstractBean" class="com.java.bean.AbstractBeanClass" abstract="true" /> 我记得在另一个项目中使用了此功能,而且效果非常好。 我
<bean id="childBean" parent="abstractBean">
...
</bean>
<bean id="abstractBean" class="com.java.bean.AbstractBeanClass"
abstract="true" />
我记得在另一个项目中使用了此功能,而且效果非常好。我记得在同一个项目中有这个,它工作得很好 我错过了什么 更新1 发现另一个豆子正在被摄取,就像我提到的那样:
<bean id="variantOptionDataConverter" parent="abstractPopulatingConverter">
...
</bean>
...
更新2抽象类的声明:
public abstract class AbstractBeanClass<SOURCE, TARGET>
extends AbstractConverter<SOURCE, TARGET>
implements PopulatorList<SOURCE, TARGET>
{
...
}
公共抽象类AbstractBeanClass
扩展抽象转换器
实现PopulatorList
{
...
}
注意:还有其他类扩展了这个类。我上面提到的“其他有效的SpringBean”都没有扩展这个类
注2:我知道这很奇怪,而且根据Java基础知识,它不应该工作(就像大家提到的那样)。但是,我不知道如何将其他SpringBean放到上下文中。我试图将“其他可用的SpringBean”复制到我的代码中,更改一些重复的名称,结果成功了。这就是我试图理解的…这是Spring容器使用absatract Java类(而不是抽象bean)时非常常见的消息。检查com.java.bean.AbstractBean类代码,您可能会找到“公共抽象类” 这是Spring容器面对absatract Java类(不是抽象bean)时非常常见的消息。检查com.java.bean.AbstractBean类代码,您可能会找到“公共抽象类” 这是Spring容器面对absatract Java类(不是抽象bean)时非常常见的消息。检查com.java.bean.AbstractBean类代码,您可能会找到“公共抽象类” 这是Spring容器面对absatract Java类(不是抽象bean)时非常常见的消息。检查com.java.bean.AbstractBean类代码,您可能会找到“公共抽象类” 我错过了什么 我不知道您的另一个项目中发生了什么,但是Spring无法为
抽象的类实例化bean
关于abstract
bean,美国
子bean定义从父定义继承配置数据
[……]
子bean定义使用父定义中的bean类
如果未指定,但也可以覆盖它。在后一种情况下,
子bean类必须与父类兼容,即
必须接受父级的属性值
换句话说,用abstract=“true”
声明的bean定义只是用作其他bean的模板
Java不允许实例化抽象类。Spring无法否决此语言功能。Spring无法实例化抽象类类型的bean
我错过了什么
我不知道您的另一个项目中发生了什么,但是Spring无法为抽象的类实例化bean
关于abstract
bean,美国
子bean定义从父定义继承配置数据
[……]
子bean定义使用父定义中的bean类
如果未指定,但也可以覆盖它。在后一种情况下,
子bean类必须与父类兼容,即
必须接受父级的属性值
换句话说,用abstract=“true”
声明的bean定义只是用作其他bean的模板
Java不允许实例化抽象类。Spring无法否决此语言功能。Spring无法实例化抽象类类型的bean
我错过了什么
我不知道您的另一个项目中发生了什么,但是Spring无法为抽象的类实例化bean
关于abstract
bean,美国
子bean定义从父定义继承配置数据
[……]
子bean定义使用父定义中的bean类
如果未指定,但也可以覆盖它。在后一种情况下,
子bean类必须与父类兼容,即
必须接受父级的属性值
换句话说,用abstract=“true”
声明的bean定义只是用作其他bean的模板
Java不允许实例化抽象类。Spring无法否决此语言功能。Spring无法实例化抽象类类型的bean
我错过了什么
我不知道您的另一个项目中发生了什么,但是Spring无法为抽象的类实例化bean
关于abstract
bean,美国
子bean定义从父定义继承配置数据
[……]
子bean定义使用父定义中的bean类
如果未指定,但也可以覆盖它。在后一种情况下,
子bean类必须与父类兼容,即
必须接受父级的属性值
换句话说,用abstract=“true”
声明的bean定义只是用作其他bean的模板
Java不允许实例化抽象类。Spring无法否决此语言功能。Spring无法实例化抽象类类型的bean。找到了答案:
事实上,正如所评论的,“您必须有其他事情在进行,可能是某种代理”,Spring有一个代理来实例化这个类型
public abstract class AbstractBeanClass<SOURCE, TARGET>
extends AbstractConverter<SOURCE, TARGET>
implements PopulatorList<SOURCE, TARGET>
{
...
}
<bean id="childBean" parent="abstractBean">
<lookup-method name="notImplementedMethod" bean="anotherBean"/>
</bean>