Spring与Hibernate整合中,使用OpenSessionInViewFilter后出现sessionFactory未注入问题
近期在知乎看到一句话,保持学习的有一种是你看到了很多其它的牛人,不甘心,真的不甘心。
Spring和hibernate整合的时候,jsp页面做展现,发现展现属性出现:
File: AbstractLazyInitializer.java
no session,懒载入。增加jsp页面展现的name这种一个属性。事实上是用getName这个方案去拿到的,可是session已经关闭了。
解决的办法就是就是写多一个filter。名字也非常直观
<filter>
<filter-name >openSessionInview </filter-name>
<filter-class >org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class> </filter >
<filter-mapping >
<filter-name> openSessionInview</filter-name >
<url-pattern> /*</ url-pattern>
</filter-mapping >
在展现层打开session,当然要写在struts的过滤之前,由于责任链的存在,先读取的反而是后实现的。
就在认为配完之后没问题的时候。有一个问题出现了,发现sessionFactory没有注入,由于我sessionFactory的id给我简写成sf。然后就猜到,应该是OpenSessionInViewFilter这个类须要注入sessionFactory。该类也有get方法,可是名字不匹配,所以注入失败。
后面尝试用
<bean id="openSessionInview" class="org.springframework.orm.hibernate3.support.OpenSessionInViewFilter ">
<property name="sessionFactory" ref="sf"></property>
</bean>
当然不行。后面查了一下。正确的配置是在web.xml中初始化。
<filter>
<filter-name >openSessionInview </filter-name>
<filter-class >org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class>
<init-param >
<param-name> sessionFactoryBeanName</param-name >
<param-value> sf</param-value >
</init-param >
</filter >
<filter-mapping >
<filter-name> openSessionInview</filter-name >
<url-pattern> /*</ url-pattern>
</filter-mapping >
最后,成功地在jsp页面展现了name属性。
Spring与Hibernate整合中,使用OpenSessionInViewFilter后出现sessionFactory未注入问题的更多相关文章
- hibernateTemplate  HibernateDaoSupport不建议在Spring与Hibernate整合中使用
		HibernateTemplate类属于spring框架中的类 :org.springframework.orm.hibernate3.HibernateTemplate HibernateTempl ... 
- spring+springmvc+hibernate整合遇到的问题
		spring+springmvc+hibernate整合遇到的问题2016年10月20日 23:24:03 守望dfdfdf 阅读数:702 标签: ssh学习经历的异常exception异常框架更多 ... 
- 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
		轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ... 
- Spring与Hibernate集成中的Session问题
		主要讨论Spring与Hibernate集成中的session问题 1.通过getSession()方法获得session进行操作 public class Test extends Hibernat ... 
- 框架篇:Spring+SpringMVC+hibernate整合开发
		前言: 最近闲的蛋疼,搭个框架写成博客记录下来,拉通一下之前所学知识,顺带装一下逼. 话不多说,我们直接步入正题. 准备工作: 1/ IntelliJIDEA的安装配置:jdk/tomcat等..(本 ... 
- spring+springmvc+hibernate 整合
		三大框架反反复复搭了很多次,虽然每次都能搭起来,但是效率不高.最近重新搭了一次,理顺了思路,整理了需要注意的地方,分享出来. 工具:Eclipse(jdk 1.7) spring和hibernate版 ... 
- springMVC,spring和Hibernate整合(重要)
		springMVC,spring和Hibernate整合 https://my.oschina.net/hugohxb/blog/184715 第一步:搭建一个springmvc工程,需要的jar有: ... 
- springmvc框架(Spring SpringMVC, Hibernate整合)
		直接干货 model 考虑给用户展示什么.关注支撑业务的信息构成.构建成模型. control 调用业务逻辑产生合适的数据以及传递数据给视图用于呈献: view怎样对数据进行布局,以一种优美的方式展示 ... 
- Spring第九篇【Spring与Hibernate整合】
		前言 前面已经学习了如何使用Spring与Struts2进行整合,本博文主要讲解如何使用Spring对Hibernate进行整合 Spring和Hibernate整合的关键点: SessionFact ... 
随机推荐
- linux下用tar命令将当前目录下文件按子目录压缩归档
			作者:iamlaosong 日常工作中,我们常常需要用tar命令将历史文件压缩归档,再删除源文件,以便节省空间.如果压缩归档成一个文件,就比较简单,用一条命令即可,如命令:tar -czf bak20 ... 
- WinMM.dll 函数汇总
			#include "MMSystem.h" auxGetDevCaps 查询指定的辅助输出设备以确定其性能 auxGetNumDevs ... 
- Android Application Fundamentals——Android应用程序基础知识
			Application Fundamentals--应用程序基础知识 Key classes--关键类 Activity Service BroadcastReceiver ContentProvid ... 
- Linux Shell 函数返回值
			Shell函数返回值,常用的两种方式:return,echo 1) return 语句 shell函数的返回值,可以和其他语言的返回值一样,通过return语句返回. 示例: #!/bin/sh fu ... 
- GitHub上最火的74个Android开源项目
			GitHub上最火的74个Android开源项目 1.ActionBarSherlock ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库, ... 
- “>>”和“>>>” java
			“>>”算术右移运算符, 表示带符号右移,它使用最高位填充移位后左侧的空位.右移的结果为:每移一位,第一个操作数被2除一次,移动的次数由第二个操作数确定.按二进制形式把所有的数字向右移动对 ... 
- HTML表格标签的使用-<table>
			<html> <head> <title> 表格标签 </title> <!-- 标签名:table 定义一个表格 子标签:<caption ... 
- mongodb中的排序和索引快速学习
			在mongodb中,排序和索引其实都是十分容易的,先来小结下排序: 1 先插入些数据 db.SortTest.insert( { name : "Denis", age : ... 
- hdu4035(概率dp)
			题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4035 题意:有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, 从结点1出发,开始走,在每个结 ... 
- Java 兑换ObjectC代码
			现在非常多app发展,server我们使用Java发展,实时数据交换,与Android非常easy实现.是否xml依然是json,它可以很容易地转换成一个对象.这可以是硬IOS该程序猿.它们应根据数据 ... 
