我就不吃芹菜

导航

 

在一个SpringMVC项目中, 连着两天不管怎么搞都是一直在报错, 报的最多的就是一个

Servlet.service() for servlet [springDispatcherServlet] in context with path [/项目名] threw exception
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined;

所以一直很纳闷, 有时还伴随着其他的错误一起出现, 郁闷了好久

但是一般越难产的问题就越容易解决, 

<!-- Spring整合Hibernate的配置 -->
<!-- 配置Hibernate, 配置SessionFactory -->
<bean name="sessionFactory" id="sf" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="ds"></property>
......

此处省略好多代码

......
</bean>

问题就出在标红的部分, 与其他同学比较了一下, 其他同学都没有写 name="sessionFactory" 这一句却也能正常运行, 加上这一句之后我的代码也能正常运行了, 还要再继续寻找为什么会这样

刚才又试了一下总算是明白了, 在<bean></bean>这个标签中, 如果你想自己定义 id 的值, 那就必须加上 name="sessionFactory" 因为系统自己是不认识自定义的 id 的值的, 如果设置成 id="sessionFactory" 系统可以从这个 id 中来获取这个<bean>, 这个情况应该也适用于其他的<bean>

posted on 2016-02-21 12:58  我就不吃芹菜  阅读(5596)  评论(0编辑  收藏  举报