나는 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 수 없습니다 : 개인 com.project.data.spring_jpa.ProjectRepository com.project.application.Controller.repository; 중첩 예외는 org.springframework.beans.factory.NoSuchBeanDefinitionException : [com.project.data.spring_jpa.ProjectRepository] 유형의 적격 bean이 종속성에 대해 발견되지 않았습니다.이 종속성에 대한 autowire 후보로 적합한 적어도 하나의 bean이 필요합니다. 종속성 주석 :
Controller.java {org.springframework.beans.factory.annotation.Autowired @는 (= TRUE 필수)} :
...
@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();
}
당신이 당신의 applicationContext.xml을 게시 할 수 있습니다 사용 구성에 JpaRepository를 사용할 수 있는지 확인합니까? – amicoderozer
나는 당신에게서 올바른 길을 얻었습니다. @Configuration으로 AppConfig.java 클래스를 만들었습니다. @EnableJpaRepositories ("com.project.data.spring_jpa.repositories") 클래스 수준의 주석과 예외는 사라졌습니다. –
내 생각 엔 applicationContext.xml 또는 구성 클래스에서' –
amicoderozer