2016-07-29 121 views
0

我有spring-boot-starter-data-jpaspring-boot-starter-web。我嘗試使用Spring jpamysql加載List<Project>,但在控制器中獲得bellow BeanCreationException。BeanCreationException對於控制器中的Spring-data-jpa存儲庫

org.springframework.beans.factory.BeanCreationException:創建名爲'controller'的bean時出錯:注入自動裝配的依賴項失敗;嵌套異常是org.springframework.beans.factory.BeanCreationException:無法自動裝入字段:private com.project.data.spring_jpa.ProjectRepository com.project.application.Controller.repository;嵌套異常是org.springframework.beans.factory.NoSuchBeanDefinitionException:找不到符合依賴關係的[com.project.data.spring_jpa.ProjectRepository]類型的限定bean:期望至少1個符合此依賴關係自動裝配候選資格的bean。依賴註解:{@ org.springframework.beans.factory.annotation.Autowired(所需=真)}

Controller.java:

... 
@RestController 
public class Controller { 

    ... 

    @Autowired 
    private ProjectRepository repository; 


    private ProjectAccessor projectAccessor = manager.createAccessor(ProjectAccessor.class); 

    public void setRepository(ProjectRepository repository){ 
     this.repository = repository; 
    } 

    @RequestMapping("/test") 
    @ResponseBody 
    public List<Project> test() { 


     System.out.println("mysql test"); 

     return repository.findAll(); 
    } 

    ... 

ProjectRepository.java:

public interface ProjectRepository extends CrudRepository<Project, Long>{ 
    List<Project> findAll(); 
} 
+0

你可以發表你的applicationContext.xml? – amicoderozer

+0

我從你那裏得到了正確的方式。我使用@Configuration創建了AppConfig.java類 @EnableJpaRepositories(「com.project.data.spring_jpa.repositories」)類級別註釋和異常消失了。 –

+0

我的猜測是你錯過了applicationContext.xml或你的配置類的'' – amicoderozer

回答

0

您是否在ProjectRepository

上寫了 @Repository註釋

一定要確保你能JpaRepository使用您的配置@EnableJpaRepositories

相關問題