Spring Boot中的JPA存储库“没有类型的合格Bean”

纳斯雷丁:

我正在用Spring Boot实现Rest API。由于我的实体类来自另一个包中的一个包,因此我必须使用注释指定它EntityScan另外,我曾经EnableJpaRepositories指定用于定义JPA存储库的软件包。这是我的项目的样子:

在此处输入图片说明

//Application.java

@Configuration
@EnableAutoConfiguration
@ComponentScan
@EntityScan("org.mdacc.rists.cghub.model")
@EnableJpaRepositories("org.mdacc.rists.cghub.ws.repository") 

在我的控制器类中,我自动连接了一个SeqService对象。

//SeqController.java

@Autowired private SeqService seqService;

@RequestMapping(value = "/api/seqs", method = GET, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<List<SeqTb>> getSeqs() {
    List<SeqTb> seqs = seqService.findAll();
    return new ResponseEntity<List<SeqTb>>(seqs, HttpStatus.OK);
}

SeqService是一个接口,我从该接口创建了Bean类SeqServiceBeanSeqServiceBean我自动接线的JPA存储库中:

// SeqServiceBean.java

@Autowired private SeqRepository seqRepository;

@Override
public List<SeqTb> findAll() {
    List<SeqTb> seqs = seqRepository.findAll();
    return seqs;
}

//SeqRepository.java

@Repository
public interface SeqRepository extends JpaRepository<SeqTb, Integer> {

    @Override
    public List<SeqTb> findAll();

    public SeqTb findByAnalysisId(String analysisId);
}

但是,由于出现以下错误,导致应用程序无法启动:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.mda.rists.cghub.ws.repository.SeqRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]

我不明白这个错误。它与合格的bean有什么关系?

阿里·德加尼(Ali Dehghani):

您正在扫描错误的软件包EnableJpaRepositories没有org.mdacc.rists.cghub.ws.repository包装。因此,请改用此:

@EnableJpaRepositories("org.mda.rists.cghub.ws.repository") 

Spring Boot不需要任何特定的代码布局即可工作,但是,有些最佳实践可以为您提供帮助。查看关于构造代码最佳实践spring boot文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

NullPointer异常存储库Spring Boot Jpa

具有超级类作为类型的Spring JPA存储库

Spring Boot-将存储库注入Controller引发考虑在配置中定义类型为'Type'的bean

Spring JPA(Hibernate)没有类型为javax.persistence.EntityManagerFactory的合格Bean

在Spring Boot 2.2.x上执行多个mongo时,没有类型为'.... mongodb.core.convert.MappingMongoConverter'的合格bean

获取NoSuchBeanDefinitionException:Spring WebFlux中没有类型为ServerRequest的合格bean

没有合格的bean-FxWeaver和Spring Boot

Spring单元测试结果出现在NoSuchBeanDefinitionException中:没有类型为'org.springframework.mail.javamail.JavaMailSender'的合格bean

带有JPA存储库的Spring Boot static where子句

Spring Boot测试-没有合格的Bean异常

在Spring Boot 2中使用Entity Manager时,没有类型为'javax.persistence.EntityManager'的合格Bean

在Spring data JPA中,如何从没有实体存储库的表中查询数据

Spring数据存储库-没有合格的bean注入

Spring Data JPA没有发现类型的合格Bean ...存在依赖关系

没有Spring数据的Spring Boot JPA

数据没有插入Spring Boot + Spring数据JPA中?

Spring Boot JPA-没有合格的bean类型

如何在Spring Boot的JPA存储库中编写查询?

Spring Data(JPA)多个存储库,没有很多类

带有bean验证的Spring JPA存储库:错误的响应

Spring&Maven&JUnit-BeanCreationException:无法自动连线字段NoSuchBeanDefinitionException:没有类型的合格Bean

Spring Boot JPA存储库错误

Spring Hadoop配置-没有类型为org.apache.hadoop.conf.Configuration的合格Bean

没有'org.springframework.mail.javamail.JavaMailSender'类型的合格bean - Spring MVC

在 Spring Boot 单表中找不到依赖类型的合格 bean

Spring Boot JPA Hibernate CRUD 存储库中的查找表

Spring Boot Embedded Tomcat - 没有可用的“javax.sql.DataSource”类型的合格 bean:预期单个匹配 bean,但发现 3

Spring @Autowire 失败,没有发现依赖错误类型的合格 bean

Spring Boot 没有公开正确的存储库路由