开发者社区> 问答> 正文

在Quarkus中注入依赖项时出现问题

我正在学习Quarkus,因此决定做一个简单的漫画数据库作为一个学习项目,但是遇到了一个我找不到解决方案的问题。

我有以下DAO类(这是我稍后在数据库注入中提到的错误的出处):

@ApplicationScoped
public class CharactersDBDaoImpl {

    @Inject
    DataBase dataBase;

    public CharacterList listCharacters() {
        return dataBase.getAll();
    }
    // more methods follow...

数据库是一个接口:

public interface DataBase {

    CharacterSimple getCharacterSimple(Long id);

    CharacterDetail getCharacterDetail(Long id);

    CharacterList getAll();

    void insertCharacter(CharacterDetail characterDetail);

}

这是一个mongoDB实现(目前唯一的实现):

@ApplicationScoped
public class DataBaseMongoDB implements DataBase {

    @Override
    public CharacterSimple getCharacterSimple(Long id) {
        return null;
    }

    @Override
    public CharacterDetail getCharacterDetail(Long id) {
        return null;
    }

    @Override
    public CharacterList getAll() {
        return null;
    }

    @Override
    public void insertCharacter(CharacterDetail characterDetail) {

    }

}

据我了解,DataBase注入应该可以正常工作,实际上我以相同的方式将DAO类注入到另一个类中,但是在DataBase注入中,当我尝试进行测试时会给我这个错误:

ERROR [io.qua.dev.DevModeMain] Failed to start Quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
    [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type me.aiuzu.charactersdb.dao.DataBase and qualifiers [@Default]
    - java member: me.aiuzu.charactersdb.dao.impl.CharactersDBDaoImpl#dataBase

任何关于我做错事情的想法都将受到赞赏,我花了很长时间解决此错误,我认为这可能是我所缺少的愚蠢的东西。谢谢。

展开
收起
垚tutu 2019-12-12 09:53:11 1374 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
使用Spring.Initializr定制工程脚手架 立即下载
陈曦:使用Spring.Initializr定制工程脚手架 立即下载
Spring框架入门 立即下载