You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Spring MVC应用中‘无法解析sessionFactory Bean’问题?

解决Spring MVC中cannot resolve bean sessionFactory错误

嘿,这个问题其实是配置里的一个小疏忽导致的,很容易修复😉

先看你遇到的核心问题:Spring找不到名为sessionFactory的bean,这是因为你在配置里定义的SessionFactory和事务管理器引用的ID不匹配。

问题根源

在你的dispatcher-servlet.xml中:

  • 你定义的SessionFactory bean ID是hibernate4AnnotatedSessionFactory
  • 但事务管理器transactionManager里,你写的是<property name="sessionFactory" ref="sessionFactory"></property>,Spring找不到这个ID的bean,所以抛出错误。

两种修复方案

方案一:修改事务管理器的引用ID

直接把事务管理器里的引用改成你实际定义的SessionFactory ID:

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory"></property>
</bean>

方案二:修改SessionFactory的bean ID

把SessionFactory的ID改成sessionFactory,这样事务管理器的引用就不用动了:

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <!-- 其他配置内容保持不变 -->
</bean>

额外验证(可选)

  • 确认database.properties文件放在src/main/resources目录下,且里面的数据库配置参数正确
  • 检查pom.xml里的spring-orm和spring-tx依赖已经正确引入(看你的配置已经加了,没问题)
  • 重启应用让Spring重新加载配置

这样修改后,Spring就能正确关联SessionFactory和事务管理器,错误就会消失啦。

内容的提问来源于stack exchange,提问作者Shimul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:35:08