我有spring-boot-starter-data-jpa
和spring-boot-starter-web
。我嘗試使用Spring jpa
從mysql
加載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();
}
你可以發表你的applicationContext.xml? – amicoderozer
我從你那裏得到了正確的方式。我使用@Configuration創建了AppConfig.java類 @EnableJpaRepositories(「com.project.data.spring_jpa.repositories」)類級別註釋和異常消失了。 –
我的猜測是你錯過了applicationContext.xml或你的配置類的'' –
amicoderozer