org.springframework.beans.factory.BeanCreationException:创建名为“”的bean时出错:通过构造函数进行bean实例化失败;
Posted
技术标签:
【中文标题】org.springframework.beans.factory.BeanCreationException:创建名为“”的bean时出错:通过构造函数进行bean实例化失败;【英文标题】:org.springframework.beans.factory.BeanCreationException: Error creating bean with name '': Bean instantiation via constructor failed; 【发布时间】:2021-02-28 01:41:09 【问题描述】:我正在尝试使用 mysql、spring 和 vaadin。 该应用程序应该访问数据库并在索引页面上显示表格
在代码中,我有扩展 jparepository 的接口存储库, 服务:
public class UtenteService
private UtenteRepository utenterep;
public UtenteService(UtenteRepository utenterepository)
this.utenterep=utenterepository;
public List<Utente> findAll()
return this.utenterep.findAll();
public void save(Utente u)
if(u==null)
return;
utenterep.save(u);
以及我调用服务的视图:
public class HelloView extends HorizontalLayout implements AfterNavigationObserver
@Autowired
private UtenteService utenteService;
private TextField name;
private Button sayHello;
private Grid<Utente> utenti = new Grid<>(Utente.class);
private Binder<Utente> binder;
public HelloView(UtenteService utenteService1)
this.utenteService=utenteService1;
HorizontalLayout hor = new HorizontalLayout();
setId("hello-view");
name = new TextField("Your name");
sayHello = new Button("Say hello");
setVerticalComponentAlignment(Alignment.END, name, sayHello);
sayHello.addClickListener( e->
Notification.show("Hello " + name.getValue());
);
hor.add(name, sayHello);
add(hor);
configureGrid();
hor.add(utenti);
updategrid();
private void updategrid()
// TODO Auto-generated method stub
utenti.setItems(utenteService.findAll());
private void configureGrid()
utenti.setSizeFull();
utenti.setColumns("id","nome","password","id_ruolo");
binder = new Binder<>(Utente.class);
binder.bindInstanceFields(this);
binder.setBean(new Utente());
@Override
public void afterNavigation(AfterNavigationEvent event)
// TODO Auto-generated method stub
utenti.setItems(utenteService.findAll());
错误
org.springframework.beans.factory.BeanCreationException:创建名为“it.tirocinio.application.views.hello.HelloView”的bean时出错:通过构造函数实例化bean失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [it.tirocinio.application.views.hello.HelloView]:构造函数抛出异常;嵌套异常是 java.lang.IllegalStateException: 没有找到自动绑定的实例字段
【问题讨论】:
【参考方案1】:通常最后一个错误是根本原因,应该有一个堆栈跟踪显示错误发生的位置。
查看您发布的文本中的最后一个错误,您会看到java.lang.IllegalStateException: There are no instance fields found for automatic binding
。
所以这个错误很可能是因为你正在调用bindInstanceFields(this)
,但是没有匹配的字段。您的实体Utente
有一个字段nome
,但在HelloView
中它被称为name
。
【讨论】:
以上是关于org.springframework.beans.factory.BeanCreationException:创建名为“”的bean时出错:通过构造函数进行bean实例化失败;的主要内容,如果未能解决你的问题,请参考以下文章
REST API:org.springframework.beans.factory.UnsatisfiedDependencyException:
Spring security-org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.sec
org.springframework.beans.factory.UnsatisfiedDependencyException:
没有实现 [org.springframework.beans.factory.xml.NamespaceHandler] 接口
Spring Boot 错误 org.springframework.beans.factory.UnsatisfiedDependencyException
org.springframework.beans.factory.UnsatisfiedDependencyException:创建 bean 时出错