Spring Boot:如何将依赖项注入到库调用的类中?

我正在使用 Kinesis 客户端库 (KCL) 和 Spring Boot。要使用 KCL,我必须RecordProcessor为 interface实现一个类(我将其命名为)IRecordProcessor。而 KCL 会从 kinesis 调用这个类并处理记录。但是当我尝试使用依赖注入时,我发现它没有成功。


这是片段RecordProcessor:


@Component

public class RecordProcessor implements IRecordProcessor {


    @Autowired

    private SingleRecordProcessor singleRecordProcessor;


    @Override

    public void initialize(String shardId) {

        ...

    }


    @Override

    public void processRecords(List<Record> records, IRecordProcessorCheckpointer checkpointer) {

        ...

    }

}

我Class SingleRecordProcessor用来处理来自 kinesis 的单个记录。这是我的SingleRecordProcessor课程片段:


@Component

public class SingleRecordProcessor {


    private Parser parser;


    private Map<String, Table> tables;


    public SingleRecordProcessor() {

    }


    @Autowired

    private void setParser(Parser parser) {

        this.parser = parser;

    }

    @Autowired

    private void setTables(Map<String, Table> tables) {

        this.tables = tables;

    }


    public void process(String record) {

        ...

    }

}

我想让spring框架自动将SingleRecordProcessor实例注入到类中并使用它。但我发现该字段singleRecordProcessor为空。


知道为什么依赖注入失败吗?或者不可能将依赖项注入到其他框架调用的类中(在这种情况下是 KCL)?任何建议将不胜感激!真的需要一些帮助,请!


莫回无
浏览 196回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java