Spring Cant注入存储库

时间:2018-10-05 10:11:07

标签: spring spring-data-jpa repository

我无法在春季注入CRUD存储库 我真的很沮丧,我找不到有效的解决方案

存储库

@Repository
public interface EntityRepository extends CrudRepository<entity,Long>{    
}

@Autowired EntityRepository eR

错误: ..需要找不到的EntityRepository类型的Bean

Consider defining a bean of type 'EntityRepository' in your configuration.

我的主要人

@SpringBootApplication
@ComponentScan({"de.xyz.*"}) 
@EntityScan("de.xyz.entities")
@EnableJpaRepositories("de.xyz.*") 
//@EnableEurekaClient
public class Application extends SpringBootServletInitializer {
    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
    }    
}

2 个答案:

答案 0 :(得分:0)

另一种方法是使用basePackages字段;这是ComponentScan批注中的一个字段。

@ComponentScan(basePackages = {"de.xyz.repository"})
public class Application extends SpringBootServletInitializer {
    //  
}

答案 1 :(得分:0)

第1步: 尝试将两个类都包含在同一包中。这样,您可以缩小组件扫描的范围。删除所有其他注释,仅保留@SpringBootApplication

Note : 
By default spring loads all the classes under the package of Application Class. 

第2步::查看您的依赖项,确认您已经包括了JPA存储库的依赖项。

第3步::发布代码的GIT Hub链接,以便可以进一步查看。

否则,将所有软件包添加到组件scan批注内,如下所示。 @ComponentScan({“ a.b.c”,“ a.b.c.dao”})

正如您已经提到的,有一个配置类正在创建Bean,请尝试将该类包包含在同一包中,或者将其包含在组件扫描中。

希望获得帮助。