我正在学习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
任何关于我做错事情的想法都将受到赞赏,我花了很长时间解决此错误,我认为这可能是我所缺少的愚蠢的东西。谢谢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。