Java 运行Spring引导时出错(未满足的依赖项通过字段表示)
我在看一节课,我做的每件事都和一节课一模一样,它在编译时犯了一个错误。 遵循代码和类 2019-10-16 22:49:39.528信息7668---[main] ConditionEvaluationReportLoggingListener: 启动ApplicationContext时出错。显示条件报告的步骤 在启用“调试”的情况下重新运行应用程序。2019-10-16 22:49:39.544 错误7668---[main]o.s.boot.SpringApplicationJava 运行Spring引导时出错(未满足的依赖项通过字段表示),java,spring,maven,spring-boot,compiler-errors,Java,Spring,Maven,Spring Boot,Compiler Errors,我在看一节课,我做的每件事都和一节课一模一样,它在编译时犯了一个错误。 遵循代码和类 2019-10-16 22:49:39.528信息7668---[main] ConditionEvaluationReportLoggingListener: 启动ApplicationContext时出错。显示条件报告的步骤 在启用“调试”的情况下重新运行应用程序。2019-10-16 22:49:39.544 错误7668---[main]o.s.boot.SpringApplication :应用程序运
:应用程序运行失败 org.springframework.beans.factory.unsatifiedDependencyException: 创建名为“pessoaController”的bean时出错:未满足 通过字段“服务”表示的依赖关系;嵌套异常是 org.springframework.beans.factory.unsatifiedDependencyException: 创建名为“PessoaseServiceImp”的bean时出错:不满意 通过字段“repository”表示的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“pessoaRepository”的bean:init方法的调用 失败;嵌套异常为java.lang.IllegalArgumentException:失败 为方法public abstract com.mydream.mydream.Pessoa创建查询 com.mydream.mydream.PessoaRepository.findOne(java.lang.Long)!不 为类型Pessoa找到属性findOne!在 org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:598) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:376) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) Pessoa.java
package com.mydream.mydream;
import javax.persistence.*;
@Entity(name="PESSOA")
public class Pessoa {
@Id
@Column
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String apelido;
public Long getId() {
return id;
}
public void setId(final Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(final String nome) {
this.nome = nome;
}
public String getApelido() {
return apelido;
}
public void setApelido(String apelido) {
this.apelido = apelido;
}
}
PessoaService.java
package com.mydream.mydream;
import java.util.List;
public interface PessoaService {
List<Pessoa>listar();
Pessoa listarId(Long id);
Pessoa add(Pessoa p);
Pessoa edit(Pessoa p);
Pessoa delete(Long id);
}
package com.mydream.mydream;
导入java.util.List;
公共接口PessoaService{
listar();
Pessoa Listand(长id);
Pessoa add(Pessoa p);
Pessoa编辑(Pessoa p);
删除(长id);
}
PessoaServiceImp.java
package com.mydream.mydream;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class PessoaServiceImp implements PessoaService {
@Autowired
private PessoaRepository repository;
@Override
public List<Pessoa> listar() {
return repository.findAll();
}
@Override
public Pessoa listarId(Long id) {
// TODO Auto-generated method stub
return null;
}
@Override
public Pessoa add(Pessoa p) {
// TODO Auto-generated method stub
return null;
}
@Override
public Pessoa edit(Pessoa p) {
// TODO Auto-generated method stub
return null;
}
@Override
public Pessoa delete(Long id) {
// TODO Auto-generated method stub
return null;
}
}
package com.mydream.mydream;
导入java.util.List;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Service;
@服务
公共类PessoaServiceImp实现PessoaService{
@自动连线
私有存储库;
@凌驾
公共列表列表(){
返回repository.findAll();
}
@凌驾
公共Pessoa列表(长id){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共Pessoa add(Pessoa p){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共Pessoa编辑(Pessoa p){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共删除(长id){
//TODO自动生成的方法存根
返回null;
}
}
PessoaRepository.java
package com.mydream.mydream;
import com.mydream.mydream.Pessoa;
import java.util.List;
import org.springframework.data.repository.Repository;
public interface PessoaRepository extends Repository<Pessoa, Long>{
List<Pessoa> findAll();
Pessoa findOne(Long id);
Pessoa save(Pessoa p);
void delete(Pessoa p);
}
package com.mydream.mydream;
导入com.mydream.mydream.Pessoa;
导入java.util.List;
导入org.springframework.data.repository.repository;
公共接口存储库扩展存储库{
列出findAll();
pessoafindone(长id);
Pessoa save(Pessoa p);
作废删除(PESP);
}
PessoaController.java
package com.mydream.mydream;
import com.mydream.mydream.Pessoa;
import com.mydream.mydream.PessoaService;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@CrossOrigin(origins = "http://localhost:4200/", maxAge = 3600)
@RestController
@RequestMapping(path= "/pessoas")
public class PessoaController {
@Autowired
PessoaService service;
@GetMapping
public List<Pessoa>listar(){
return service.listar();
}
}
package com.mydream.mydream;
导入com.mydream.mydream.Pessoa;
导入com.mydream.mydream.pessoaseservice;
导入java.util.List;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.web.bind.annotation.CrossOrigin;
导入org.springframework.web.bind.annotation.GetMapping;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RestController;
@交叉原点(原点=”http://localhost:4200/,maxAge=3600)
@RestController
@请求映射(路径=“/pessoas”)
公共类PessoanController{
@自动连线
PessoaService服务;
@GetMapping
公共列表(){
return service.listar();
}
}
我已经做了我在其他帖子中所做的,但我没有得到任何解决方案@PessoaService中缺少存储库注释在PessoaService中?出现错误,谢谢您的帮助!正如您在(上述问题)中所看到的,将方法重命名为
findById
,并将返回类型更改为可选
——或者使用旧版本的Spring数据(