hibernate - 通过字段 'sessionFactory' 表达的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:
问题描述
创建名为 'trangchuController' 的 bean 时出错:通过字段 'sessionFactory' 表达的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有“org.hibernate.SessionFactory”类型的合格 bean 可用:预计至少有 1 个有资格作为自动装配候选者的 bean。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
IOC.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
">
<context:component-scan base-package="tuan.controller"/>
<context:component-scan base-package="tuan.entity"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/db_thoitrang" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="tuan.entity"></property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
</value>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>
控制器
package tuan.controller;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import tuan.entity.NhanVien;
@Controller
@RequestMapping("/")
public class trangchuController {
@Autowired
SessionFactory sessionFactory;
@GetMapping
@Transactional
public String index() {
Session session = sessionFactory.getCurrentSession();
String sql = "from nhanvien";
List<NhanVien> list = session.createQuery(sql).getResultList();
for(NhanVien nv: list) {
System.out.println(nv.getTenNhanVien()+" : "+nv.getTuoi());
}
return "trangchu";
}
}
仁文
`包团.实体;
导入 javax.persistence.Entity;导入 javax.persistence.Id;
@Entity(name="nhanvien")
public class NhanVien {
@Id
int idNhanVien;
String TenNhanVien;
int Tuoi;
public int getId() {
return idNhanVien;
}
public void setId(int idNhanVien) {
this.idNhanVien = idNhanVien;
}
public String getTenNhanVien() {
return TenNhanVien;
}
public void setTenNhanVien(String tenNhanVien) {
TenNhanVien = tenNhanVien;
}
public int getTuoi() {
return Tuoi;
}
public void setTuoi(int tuoi) {
Tuoi = tuoi;
}
}
解决方案
推荐阅读
- html - 在单行上水平对齐表格单元格中的元素
- python - 试图从图像搜索中获取 url
- wordpress - Woocommerce - 如何在产品摘要之后但在描述之前显示内容?
- flutter - Flutter Dart Model 如何写一个通用的模态类
- flutter - Flutter Bloc Cubit Navigator Problem BlocProvider.of() 调用的上下文不包含 CityCubit 类型的 Bloc/Cubit
- ios - 具有一个静态和一个动态子级的堆栈视图?
- javascript - IntersectionObserver 不适用于长部分 JS 的小屏幕
- matlab - 如何使用 MATLAB 报告生成器将 Matlab 二维数组导出为 pdf 格式的条件格式表?
- c++ - C++程序计算文本中空白的数量
- ruby-on-rails - 如何在我的助手而不是视图中循环访问 ActiveRecord_Relation?