使用组件扫描的抽象类的java.lang.InstanceException
我有一个基于webservices的应用程序,其中存在多个类。有些类类型是使用组件扫描的抽象类的java.lang.InstanceException,java,spring,Java,Spring,我有一个基于webservices的应用程序,其中存在多个类。有些类类型是abstract,在其他类中扩展,用于定义抽象类方法的主体。我使用spring在spring上下文xml中实例化类。我使用了context:component scan base package=“com.test.webservices”它扫描所有@component类并实例化,但它不会扫描抽象类 现在我的问题是,是否有任何解决方案可以使用组件扫描扫描抽象类 代码就像- @Component public abstrac
abstract
,在其他类中扩展,用于定义抽象类方法的主体。我使用spring在spring上下文xml中实例化类。我使用了context:component scan base package=“com.test.webservices”
它扫描所有@component
类并实例化,但它不会扫描抽象类
现在我的问题是,是否有任何解决方案可以使用组件扫描扫描抽象类
代码就像-
@Component
public abstract class HibernateEntityManager{ ... }
@Component
public class HibernateGenericDaoImpl extends HibernateEntityManager{ ... }
在applicationContext.xml中,我有
<context:component-scan base-package="com.test.webservices"/>
您的抽象类不能是特定的bean,因为您不能实例化它。从抽象类中删除注释,并将其仅用于具体类 结合使用@Component注释时
<context:component-scan base-package="com.inn.webservices"/>
Spring尝试为注释类创建单例bean。在您的情况下,应该对抽象类进行注释。将@Component注释放在实现类上 嗨,欢迎来到stack overflow。请阅读如何提出一个好问题。并相应地修改您的问题。至少添加堆栈跟踪…仅为具体子类创建bean。参考,谢谢!在这种情况下,如何将xml配置中的child class parent=”“字段用于父抽象类?这个条件迫使我,如果我必须在xml配置中使用parent=“”字段,那么我的每个超类都必须是具体的类。
<context:component-scan base-package="com.inn.webservices"/>