私はspring-boot-starter-data-jpa
とspring-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();
}
を使用して、あなたの設定にJpaRepositoryを有効にしてくださいますか? – amicoderozer
私はあなたから正しい道を得ました。 @ConfigurationでAppConfig.javaクラスを作成しました @EnableJpaRepositories( "com.project.data.spring_jpa.repositories")クラスレベルの注釈と例外はなくなりました。 –
私の推測では、applicationContext.xmlまたはconfigクラスから ' –
amicoderozer