当前位置: 首页 > 面试题库 >

能在抽象类中自动连线吗?

李星波
2023-03-14
问题内容

Spring无法自动连线对象?是否可以在抽象类中自动装配对象。假设所有模式都在application-context.xml中提供

问题:@Service @Component应该在基类和扩展类(如果有)上使用什么批注?

abstract class SuperMan {

    @Autowire
    private DatabaseService databaseService;

    abstract void Fly();

    protected void doSuperPowerAction(Thing thing) {

        //busy code

        databaseService.save(thing);

    }
}

Extending class

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/>

问题答案:

具有自动接线字段的抽象类

public abstract class AbstractJobRoute extends RouteBuilder {

    @Autowired
    private GlobalSettingsService settingsService;

以及几个带有@Component注释定义的子级。



 类似资料:
  • 问题内容: 我了解抽象类中的方法都可以是抽象的,也可以不是。但是,为什么不能在“普通”的非抽象类中创建抽象方法呢? 在此先感谢您的解释! 问题答案: 抽象 方法从根本上说,该方法没有实现,需要在 子类中 实现。但是,如果您在 非抽象 类中具有 抽象 方法,则可以实例化该类并获取一个对象,该对象将具有未实现的方法,您将无法调用该方法。 __

  • 我有一个子类,它声明了我的抽象超类中的所有方法,但它仍然给我一个错误,说明我的类不是抽象的。我不知道为什么会抛出这个错误。 我得到的具体错误是 PhoneBookEntry.java: 1:错误:PhoneBookEntry不是抽象的,并且不会覆盖可比中的抽象方法compareTo(Object) 我的问题代码: 还有我的子类:

  • 我有一个Bean,负责从配置文件加载项目设置,并使它们可用于任何其他可能需要它们的对象: 现在,我有一组组件类,它们通过多个步骤扩展了一个抽象类,我想在其中使用这个bean: 根据我的理解,这应该是有效的,因为@autowmed字段受到保护,因此可以从@Component类中看到。然而,相反,我得到了这个例外: ...其中引用的

  • 我使用PDO抽象类。我想知道是否有必要每次都为变量空,或者当脚本结束时它是否会这样做? 您还可以告诉我,对于这种类型的结构,取消的最佳方法是什么?

  • 我对spring中的@Autowired注释有问题。我有一个RestController类: 接口: CategoryManagerImpl类: 每次编译代码时,我都会遇到一个异常: Bun当我创建ApplicationContext并尝试获取categoryManagerImpl bean时,没有问题: 有人知道哪里会有问题吗? 谢谢 添加了 配置类: 堆栈跟踪:

  • 我试图在MessageBoxDAO类中自动连接jdbctemplate(我想它工作得很好),然后我在控制器中创建自动连接的DAO对象来获取最新的ID,以防止获取重复的ID,并从它结束的地方开始。 代码如下: 由于我未知的原因,“dao”为空,因此无法构造计数器,程序停止 我刚接触spring boot,我知道这可能是一个非常简单的问题,但有人能指出我错在哪里吗?