Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用组件扫描的抽象类的java.lang.InstanceException_Java_Spring - Fatal编程技术网

使用组件扫描的抽象类的java.lang.InstanceException

使用组件扫描的抽象类的java.lang.InstanceException,java,spring,Java,Spring,我有一个基于webservices的应用程序,其中存在多个类。有些类类型是abstract,在其他类中扩展,用于定义抽象类方法的主体。我使用spring在spring上下文xml中实例化类。我使用了context:component scan base package=“com.test.webservices”它扫描所有@component类并实例化,但它不会扫描抽象类 现在我的问题是,是否有任何解决方案可以使用组件扫描扫描抽象类 代码就像- @Component public abstrac

我有一个基于webservices的应用程序,其中存在多个类。有些类类型是
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"/>