1. 程式人生 > >SpringBoot JPA 中無法注入 JpaRepository 介面的問題及解決方案

SpringBoot JPA 中無法注入 JpaRepository 介面的問題及解決方案

錯誤:

    No qualifying bean of type 'xxx.xxx.xxx' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

    或:

    Not a managed type: class xxx.xxx.xxx

解決方案:

方案一、把 @SpringBootApplication 註解的 SpringBoot 入口類移到上層 root 包中,使 JpaRepository 子介面位於 root 包及其子包中

方案二、在 SpringBoot 入口類上新增

    (1) @ComponentScan(basePackages = "xxx.xxx.xxx"):掃描 @Controller、@Service 註解;
    (2) @EnableJpaRepositories(basePackages = "xxx.xxx.xxx"):掃描 @Repository 註解

    (3) @EntityScan(basePackages = "xxx.xxx.xxx"):掃描 @Entity 註解