Spring与Hibernate整合中,使用OpenSessionInViewFilter后出现sessionFactory未注入问题

时间:2022-08-29 17:43:09

近期在知乎看到一句话,保持学习的有一种是你看到了很多其它的牛人,不甘心,真的不甘心。

Spring和hibernate整合的时候,jsp页面做展现,发现展现属性出现:

org.apache.jasper.JasperException: could not initialize proxy - no Session - Class: org.hibernate.proxy.AbstractLazyInitializer

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未注入问题的更多相关文章

  1. hibernateTemplate HibernateDaoSupport不建议在Spring与Hibernate整合中使用

    HibernateTemplate类属于spring框架中的类 :org.springframework.orm.hibernate3.HibernateTemplate HibernateTempl ...

  2. spring&plus;springmvc&plus;hibernate整合遇到的问题

    spring+springmvc+hibernate整合遇到的问题2016年10月20日 23:24:03 守望dfdfdf 阅读数:702 标签: ssh学习经历的异常exception异常框架更多 ...

  3. 轻量级Java EE企业应用实战(第4版):Struts 2&plus;Spring 4&plus;Hibernate整合开发&lpar;含CD光盘1张&rpar;

    轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(*奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...

  4. Spring与Hibernate集成中的Session问题

    主要讨论Spring与Hibernate集成中的session问题 1.通过getSession()方法获得session进行操作 public class Test extends Hibernat ...

  5. 框架篇:Spring&plus;SpringMVC&plus;hibernate整合开发

    前言: 最近闲的蛋疼,搭个框架写成博客记录下来,拉通一下之前所学知识,顺带装一下逼. 话不多说,我们直接步入正题. 准备工作: 1/ IntelliJIDEA的安装配置:jdk/tomcat等..(本 ...

  6. spring&plus;springmvc&plus;hibernate 整合

    三大框架反反复复搭了很多次,虽然每次都能搭起来,但是效率不高.最近重新搭了一次,理顺了思路,整理了需要注意的地方,分享出来. 工具:Eclipse(jdk 1.7) spring和hibernate版 ...

  7. springMVC,spring和Hibernate整合(重要)

    springMVC,spring和Hibernate整合 https://my.oschina.net/hugohxb/blog/184715 第一步:搭建一个springmvc工程,需要的jar有: ...

  8. springmvc框架&lpar;Spring SpringMVC&comma; Hibernate整合&rpar;

    直接干货 model 考虑给用户展示什么.关注支撑业务的信息构成.构建成模型. control 调用业务逻辑产生合适的数据以及传递数据给视图用于呈献: view怎样对数据进行布局,以一种优美的方式展示 ...

  9. Spring第九篇【Spring与Hibernate整合】

    前言 前面已经学习了如何使用Spring与Struts2进行整合,本博文主要讲解如何使用Spring对Hibernate进行整合 Spring和Hibernate整合的关键点: SessionFact ...

随机推荐

  1. 第一章 企业项目开发--maven&plus;springmvc&plus;spring&plus;mybatis&plus;velocity整合

    说明:本系列文章主要是对自己在一家大型互联网公司实习的过程中对所学知识的总结!参与的是实际中使用的上线项目. 代码的github地址:https://github.com/zhaojigang/ssm ...

  2. ccrendertexture to uiimage

    CCRenderTexture *renderTexture; [renderTexture getUIImage];

  3. Linux(CentOS) 如何查看当前占用CPU或内存最多的K个进程

    一.可以使用以下命令查使用内存最多的K个进程 方法1: ps -aux | sort -k4nr | head -K 如果是10个进程,K=10,如果是最高的三个,K=3 说明:ps -aux中(a指 ...

  4. 黄聪:让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)

    如果你的WordPress主题要提交到WordPress官方主题库,使用者来自世界各地的多种语言,那么,你就要让你的WordPress主题支持语言本地化,方便使用者进行语言翻译和制作语言包. 让Wor ...

  5. 如何获取客户端IP、操作系统、浏览器

    request.getRemoteAddr();//获取IP request.getHeader("User-Agent");//获取操作系统信息.浏览器信息. protected ...

  6. 2014年互联网IT待遇【转载】

    2014年互联网IT待遇[转载] 一.民企 1.百度 13k*14.6,special 14~17k*14.6 开发类 13K*14.6    (2014) 测试类.前端类 12K*14.6    ( ...

  7. Java数据输入

    以下是数据输入实例: //以下是数据输入实例 import java.util.Scanner;//导入java.util.Scanner,Scanner首字母大写 public class Test ...

  8. 为选择屏幕的字段设置F4帮助

    在没有参考 数据元素,域和搜索帮助的情况下,自定义F4 帮助 1,PARAMETERS: p_bukrs(4) TYPE C MATCHCODE OBJECT H_T001. 2,AT SELECTI ...

  9. 图解HTTPS协议

    原文出处: leezhong的博客 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实 ...

  10. es6 语法 (对象扩展)

    { //简洁表示法 let o = 1; let k = 2; let es5 = { o:o, k:k }; let es6 = { o,k }; console.log(es5,es6); //1 ...