我正在尝试用Spring Boot开发一个CRUD web应用程序。我将Hibernate用于我的DAO部分。当我尝试午餐我的主应用程序,我收到以下错误消息:
接口客户端DAO:
public void agregar(Cliente cliente);
public void editar(Cliente cliente);
public void remove(Integer idCliente);
public Cliente obtenerCliente(Integer idCliente);
public List obtenerTodosClientes();
类ClienteDAOImpl
@Autowired
private SessionFactory session;
@Override
public void agregar(Cliente cliente) {
session.getCurrentSession().save(cliente);
}
@Override
public void editar(Cliente cliente) {
session.getCurrentSession().update(cliente);
}
@Override
public void remove(Integer idCliente) {
session.getCurrentSession().delete(obtenerCliente(idCliente));
}
@Override
public Cliente obtenerCliente(Integer idCliente) {
return (Cliente) session.getCurrentSession().get(Cliente.class, idCliente);
}
@Override
public List obtenerTodosClientes() {
return session.getCurrentSession().createQuery("from Cliente").list();
}
@Id @GeneratedValue
private Integer idCliente;
private String iceCliente;
private String nombreCliente;
private String apellidoCliente;
private String direccionCliente;
private String telefonoCliente;
private String emailCliente;
private TipoCliente tipoCliente;
private String cuidadCliente;
public Cliente() {
super();
}
public Cliente(String iceCliente, String nombreCliente, String apellidoCliente, String direccionCliente,
String telefonoCliente, String emailCliente, TipoCliente tipoCliente, String cuidadCliente) {
super();
this.iceCliente = iceCliente;
this.nombreCliente = nombreCliente;
this.apellidoCliente = apellidoCliente;
this.direccionCliente = direccionCliente;
this.telefonoCliente = telefonoCliente;
this.emailCliente = emailCliente;
this.tipoCliente = tipoCliente;
this.cuidadCliente = cuidadCliente;
}
public Integer getIdCliente() {
return idCliente;
}
public void setIdCliente(int idCliente) {
this.idCliente = idCliente;
}
public String getIceCliente() {
return iceCliente;
}
public void setIceCliente(String iceCliente) {
this.iceCliente = iceCliente;
}
public String getNombreCliente() {
return nombreCliente;
}
public void setNombreCliente(String nombreCliente) {
this.nombreCliente = nombreCliente;
}
public String getApellidoCliente() {
return apellidoCliente;
}
public void setApellidoCliente(String apellidoCliente) {
this.apellidoCliente = apellidoCliente;
}
public String getDireccionCliente() {
return direccionCliente;
}
public void setDireccionCliente(String direccionCliente) {
this.direccionCliente = direccionCliente;
}
public String getTelefonoCliente() {
return telefonoCliente;
}
public void setTelefonoCliente(String telefonoCliente) {
this.telefonoCliente = telefonoCliente;
}
public String getEmailCliente() {
return emailCliente;
}
public void setEmailCliente(String emailCliente) {
this.emailCliente = emailCliente;
}
public TipoCliente getTipoCliente() {
return tipoCliente;
}
public void setTipoCliente(TipoCliente tipoCliente) {
this.tipoCliente = tipoCliente;
}
public String getCuidadCliente() {
return cuidadCliente;
}
public void setCuidadCliente(String cuidadCliente) {
this.cuidadCliente = cuidadCliente;
}
public void agregar(Cliente cliente);
public void editar(Cliente cliente);
public void remove(Integer idCliente);
public Cliente obtenerCliente(Integer idCliente);
public List obtenerTodosClientes();
@Autowired
private ClienteDAO clienteDAO;
@Transactional
public void agregar(Cliente cliente) {
clienteDAO.agregar(cliente);
}
@Transactional
public void editar(Cliente cliente) {
clienteDAO.editar(cliente);
}
@Transactional
public void remove(Integer idCliente) {
clienteDAO.remove(idCliente);
}
@Transactional
public Cliente obtenerCliente(Integer idCliente) {
return clienteDAO.obtenerCliente(idCliente);
}
@Transactional
public List obtenerTodosClientes() {
return clienteDAO.obtenerTodosClientes();
}
类ClienteController:
@Autowired
private ClienteService clienteService;
@RequestMapping("/index")
public String setupForm(Map<String, Object> map) {
Cliente cliente = new Cliente();
map.put("cliente", cliente);
map.put("clienteList", clienteService.obtenerTodosClientes());
return "cliente";
}
pom.xml:
<groupId>ma.nestideas.facturas</groupId>
<artifactId>nestideas-facturas</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>nestideas-facturas</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- <dependency> -->
<!-- <groupId>org.springframework.boot</groupId> -->
<!-- <artifactId>spring-boot-starter-data-jdbc</artifactId> -->
<!-- </dependency> -->
<dependency>
-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.5.Final</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>org.springframework.boot</groupId> -->
<!-- <artifactId>spring-boot-devtools</artifactId> -->
<!-- <scope>runtime</scope> -->
<!-- <optional>true</optional> -->
<!-- </dependency> -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!-- <version>5.1.39</version>$NO-MVN-MAN-VER$ -->
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
将此添加到配置文件:
@Bean
public SessionFactory sessionFactory(HibernateEntityManagerFactory entityManagerFactory){
return entityManagerFactory.getSessionFactory();
}
然后,在application.properties文件中,添加
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
希望有帮助!
应用程序启动失败 描述: com.base.model.abstractDAO中得字段会话需要类型为“org.hibernate.sessionFactory”得bean,但找不到该bean. 我添加了应用程序的实现: pom.xml 应用程序.属性 我在stackoverflow上查找了相同的错误代码,但没有一个解决方案起作用,因此将它与我的代码一起再次发布在这里。希望别人能指出我错在哪里。
问题内容: 每当启动应用程序spring启动时,我都会收到以下错误。 申请开始失败 描述: com.base.model.AbstractDao中的现场会话需要找不到“ org.hibernate.SessionFactory”类型的Bean。 行动: 考虑在配置中定义类型为“ org.hibernate.SessionFactory”的bean。 我添加了我的应用程序的实现: POM.xml 应
有人知道我怎么解决这个问题吗?请告诉我,谢谢。
我有两个项目: null 提前感谢您的帮助。
我有一个java项目,它将Spring Boot与JPA结合使用,并将Hibernate用于数据库。我正在尝试建立一个访问数据库的微服务。(我不熟悉微服务和Spring Boot)。 以下是主要课程: IGmCircularsDAO. class: GMCircularsDAOImpl。类别: ParentDAO。班 循环服务。班 当我运行这段代码时,我遇到了以下错误,我已经陷入其中一段时间了。
编辑-更新:我根据本教程创建了一个全新的项目,我注意到,在配置pom后,问题是如果我添加 应用程序类的注释。 我是Spring Boot的新手,我已经创建了一个具有持久性的简单工作应用程序,现在我试图添加Spring security jwt,但它不起作用。 以下是我的项目结构: 在为安全性添加依赖项之前,它在持久性方面都工作得很好,现在是这样。我错过了什么?