当前位置: 首页 > 知识库问答 >
问题:

Spring你能在一个抽象类中实现吗?

充运浩
2023-03-14
abstract class SuperMan {

    @Autowire
    private DatabaseService databaseService;

    abstract void Fly();

    protected void doSuperPowerAction(Thing thing) {

        //busy code

        databaseService.save(thing);

    }
}

扩展类

public class SuperGirl extends SuperMan {

    @Override
    public void Fly() {
        //busy code
    }

    public doSomethingSuperGirlDoes() {

        //busy code

        doSuperPowerAction(thing)

    }

application-context.xml

<context:component-scan base-package="com.baseLocation" />
<context:annotation-config/>

共有1个答案

傅翰池
2023-03-14

通常,Spring应该执行autowiring操作,只要抽象类位于为组件扫描提供的基本包中。

见这和这进一步的参考。

@service@component都是在Spring容器中创建带注释类型bean的构造型。正如Spring文档所述,

 类似资料:
  • 问题内容: 如何在Go中实现抽象类?由于Go不允许我们在接口中包含字段,因此这将是一个无状态的对象。因此,换句话说,Go中的方法是否可以具有某种默认实现? 考虑一个例子: 由于无法将接口用作接收器,因此无法编译。 实际上,我已经回答了我的问题(请参见下面的答案)。但是,这是实现这种逻辑的惯用方式吗?除了语言的简单性之外,还有什么理由不使用默认实现吗? 问题答案: 一个简单的解决方案是移至参数列表(

  • 问题内容: 我明白: 由于抽象类本身并不是什么,例如车辆,我们想要创建一个具体实现的对象,例如Car,Bike等。 对象链期间将调用抽象类的构造函数。 我们永远不能直接创建抽象类的对象,即使它包含构造函数并且所有方法都已实现。 但是从编译器的角度来看,Java为什么要强制执行这些规则? 问题答案: 这不是技术限制,而是(如您所指出的)逻辑上的限制。Java(和许多其他语言)执行各种规则不是因为它们

  • 我正在做大学课程,并试图用GLFW建立一个窗口。我一直在关注我们要关注的文档和视频系列(Youtube上Cherno的Hazel引擎),但遇到了抽象类的问题。 我真的很难理解指针和抽象,所以我真的很难理解我在做什么,但我相信它试图从Window调用继承的“create”函数来构建WinWindow(之所以这样命名是因为它是Windows操作系统特有的),但我在WinWindow的第9行得到一个错误

  • 我有一个spring项目,其中我有一个抽象类人物,如下所示 我有这个Person类的2个实现,员工和驱动程序,如下所示 Person对象包含在Company类中,如下所示 现在,我收到json格式的请求,其中一个字段是这个person对象,如下所示: 问题是,这个人既可以是司机也可以是员工。字段“type”(不作为变量出现)在json中传递,并实例化相应的对象。然而,我无法获得实例化对象,因为实例

  • 我查过了,发现最接近的是这个,除了我没有任何向前的声明。我在基类中只有一个纯虚函数,我在子类中实现它,如下所示: 命令H 命令cpp 数字H 数字cpp 发生文件错误: 一个dd.cpp 添加H

  • 类和的行为有何不同?我为什么要选择其中一个? (目前,TypeScript手册和语言规范不包括抽象类。)

  • 我使用架构和堆栈。 对于服务之间的通信,我决定使用。 我有一个名为的服务,今天我实现了一个项目,并将其添加到存储库中。 我添加了到服务使用使用以下命令: 现在我想在中创建一个服务类,

  • 问题是: 我有一个叫做Schema的基类,它是抽象的,它是一个未生成的类。我有两个从Schema继承生成的JAXB类:FixedWidthSchema和DelimitedSchema。 我使用外部绑定(xjb)文件来指定XSD和Java类之间的映射。 在基类模式中,我定义了几个方法: 公共架构静态创建(Model m),它从提供的模型创建架构。 公共抽象Writer marshal(),它将当前架