2016-07-29 70 views
0

私はspring-boot-starter-data-jpaspring-boot-starter-webです。私は負荷List<Project>mysqlからSpring jpaを使用して試みますが、コントローラではBeanCreationExceptionが発生します。コントローラのSpring-data-jpaリポジトリのBeanCreationException

org.springframework.beans.factory.BeanCreationException:名前 'controller'を持つBeanの作成中にエラーが発生しました:自動依存依存の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private com.project.data.spring_jpa.ProjectRepository com.project.application.Controller.repository;ネストされた例外はorg.springframework.beans.factory.NoSuchBeanDefinitionExceptionです:タイプ[com.project.data.spring_jpa.ProjectRepository]の適格なBeanが依存関係に見つかりませんでした:この依存関係のautowire候補となる少なくとも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

を使用して、あなたの設定にJpaRepositoryを有効にしてくださいますか? – amicoderozer

+0

私はあなたから正しい道を得ました。 @ConfigurationでAppConfig.javaクラスを作成しました @EnableJpaRepositories( "com.project.data.spring_jpa.repositories")クラスレベルの注釈と例外はなくなりました。 –

+0

私の推測では、applicationContext.xmlまたはconfigクラスから ' amicoderozer

答えて

0

あなたは@Repository注釈をに書きましたか?ProjectRepository

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

は、あなたがあなたのapplicationContext.xmlをを投稿することができます@EnableJpaRepositories

関連する問題