SSH整合中 hibernate托管给Spring得到SessionFactory

<prop key="hibernate.current_session_context_class">thread</prop>
然后
Resource resource=new ClassPathResource("/WEB-INF/applicationContext.xml");
BeanFactory factory=new XmlBeanFactory(resource);
SessionFactory sessionFactory = (SessionFactory)factory.getBean("sessionFactory");
就可以得到了
剩下的 不会就回炉吧,我 的 做法是 修改HibernateUtil文件的得到SessionFactory 的方法就 什么都解决了
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
//在hibernate托管给Spring时得到sessionFactory
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
Resource resource=new ClassPathResource("/WEB-INF/applicationContext.xml");
BeanFactory factory=new XmlBeanFactory(resource);
sessionFactory = (SessionFactory)factory.getBean("sessionFactory");
} catch (HibernateException ex) {
throw new RuntimeException("Exception building SessionFactory: "
+ ex.getMessage(), ex);
}
}
public static final ThreadLocal session = new ThreadLocal();
public static Session currentSession() throws HibernateException {
Session s = (Session) session.get();
// Open a new Session, if this Thread has none yet
if (s == null) {
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
public static void closeSession() throws HibernateException {
Session s = (Session) session.get();
session.set(null);
if (s != null)
s.close();
}
}
//
当hibernate没有托管给Spring使用这种和传统方式都可以得到啊
sessionFactory = new Configuration().configure("/WEB-INF/hibernate.cfg.xml")
.buildSessionFactory();

(0)

相关推荐

  • JSP 开发SSH整合异常解决办法

    SSH整合异常解决(creating bean with name 'sessionFactory' defined in class path) 整合SSH注解的方式,但是一直有异常.还是解决了,贴出来. [org.springframework.web.context.ContextLoader]: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error crea

  • SSH框架网上商城项目第7战之整合Struts2和Json

    上篇我们完成了DataGrid显示json数据,但是没有和后台联系在一起,只是单纯地显示了我们自己弄的json数据,这一节我们将json和Struts2整合,打通EasyUI和Struts2之间的交互. 1. json环境的搭建 json环境搭建很简单,导入json的jar包即可,如下: (注:json-lib-2.4的jar包下载地址:http://xiazai.jb51.net/201605/yuanma/json-lib-2.4(jb51.net).rar ) 2. 完善Action 在D

  • 详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)

    一.整合原理 二.导包(41个) 1.hibernate (1)hibernate/lib/required (2)hibernate/lib/jpa | java persist api java的持久化规范(接口) (3)数据库驱动 2.struts2 (1)struts-blank.war/WEB-INF/lib/* 注意:javassist-3.18.1-GA.jar包与hibernate中的重复(只保留高版本即可) (2)struts整合spring插件包 注意:这个包一旦导入,那么s

  • SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2

    本文开始做一个网上商城的项目,首先从搭建环境开始,一步步整合S2SH.这篇博文主要总结一下如何整合Struts2.Hibernate4.3和Spring4.2. 整合三大框架得先从搭建各部分环境开始,也就是说首先得把Spring,Hibernate和Struts2的环境搭建好,确保它们没有问题了,再做整合.这篇博文遵从的顺序是:先搭建Spring环境-->然后搭建Hibernate环境--> 整合Spring和Hibernate --> 搭建Struts2环境 --> 整合Spri

  • SSH+Jquery+Ajax框架整合

    近期学习了SSH2(Struts2+Spring+Hibernate)的整合后,开始尝试的写一个登陆界面,结果发现:若是单单使用struts2来进行页面跳转的话页面的效果不怎么样,同时也无法进行局部刷新(即异步提交验证). 于是,我开始在网上搜索解决的办法,有些说通过一个隐藏的iframe来达到效果,当我总觉得麻烦和不实用.后来问了下老师,告诉了我使用ajax可以达到想要的效果,我又发现网上有很多例子都是ajax的,但缺少的就是SSH2(整合好的)和ajax 的整合(ajax使用了jQuery框

  • MyEclipse整合ssh三大框架环境搭载用户注册源码下载

    前言 SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及

  • 详解SSH框架和Redis的整合

    一个已有的Struts+Spring+Hibernate项目,以前使用MySQL数据库,现在想把Redis也整合进去. 1. 相关Jar文件 下载并导入以下3个Jar文件: commons-pool2-2.4.2.jar.jedis-2.3.1.jar.spring-data-redis-1.3.4.RELEASE.jar. 2. Redis配置文件 在src文件夹下面新建一个redis.properties文件,设置连接Redis的一些属性. redis.host=127.0.0.1 redi

  • SSH整合中 hibernate托管给Spring得到SessionFactory

    <prop key="hibernate.current_session_context_class">thread</prop> 然后 Resource resource=new ClassPathResource("/WEB-INF/applicationContext.xml"); BeanFactory factory=new XmlBeanFactory(resource); SessionFactory sessionFactor

  • 浅谈SSH框架中spring的原理

    在ssh项目中,是有明确分工的,spring的作用就相当于将struts和hibernate连接起来,是将两个没有关系的框架的特性,方法,action都放在spring的配置文件中使他们建立关系.取他门各自所长.而这些做法他们自己不知道,他们是听命于spring调度的,他的的任务只是做好自己的事情. 这样做的好处就是任务结构分明,struts只管理显示与做什么,hibernate只关心怎么做,而spring就相当于领导,所以一切的类都要交给spring的工厂创建,这是一种良好的开发模式,体现了一

  • Java编程ssh整合常见错误解析

    1. org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.UnsupportedOperationException: Not supported by BasicDataSource Spring不能为JAP创建事务.原因是bean.xml设定了数据源per

  • 详谈hibernate,jpa与spring data jpa三者之间的关系

    目录 前提 文字说明 CRUD操作 前提 其实很多框架都是对另一个框架的封装,我们在学习类似的框架的时候,难免会进入误区,所以我们就应该对其进行总结归纳,对比.本文就是对hibernate,jpa,spring data jpa三者之间进行文字对比,以及对其三者分别进行CRUD操作. 文字说明 Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生

  • java中Hibernate的状态总结

    在Hibernate框架中对象的存在有不同的状态,只有理解了这些状态,才能对Hibernate的工作机制有所认知.主要有四种:瞬时状态.持久化状态.脱管状态和删除态 .都比较好理解,大致可以看作是临时.稳定.半稳定.回收的几种形式,下面就Hibernate的这几种状态带来详细的介绍. 1.瞬时状态 通过new开辟内存空间创建的实体对象,但是它没有纳入hibernate session的管理之中,如果没有变量对它引用,它将会被JVM(垃圾回收器)回收.瞬时状态的对象在内存中是孤立的,它与数据库无任

  • JSP 中Hibernate实现映射枚举类型

    JSP 中Hibernate实现映射枚举类型 问题: Java BO类Gender是枚举类型,想在数据库中存成字符串格式,如何编写hbm.xml? public enum Gender{ UNKNOWN("Unknown"), MALE("Male"), FEMALE("Female"); private String key; private Gender(final String key) { this.key = key; } public

  • 详解Java中Hibernate的基本原理

    在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装.一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎么做的,你也可以很快上手. 这难道是学习的最终目的吗? 不是,绝对不是.我们需要了解这门技术的基本概念,它到底是什么,它是干什么的,它有什么优缺点.下面我就带领大家一起回顾一下Hibernate: 什么是Hibernate? Hibernate,翻译过来是冬眠的意思,正好现在已经进入秋季,世间万物开

  • 在Docker中开发Java 8 Spring Boot应用程序的方法

    在本文中,我将向您展示如何使用Java 8开发和运行简单的Spring Web应用程序,而无需在本地计算机上安装Java 8. Python开发人员使用虚拟环境为不同项目创建和管理单独的环境,每个环境使用不同版本的Python来执行,存储和解析Python依赖项.Java和许多其他技术不支持虚拟环境概念.在这一点上,Docker来帮助我们. Docker是一个虚拟化平台.您可以从Docker官方网站上找到基本信息和安装指南. 一旦安装了Docker工具箱,就不需要安装我们的示例应用程序中所需的J

  • 浅析Java中Apache BeanUtils和Spring BeanUtils的用法

    # 前言 在我们实际项目开发过程中,我们经常需要将不同的两个对象实例进行属性复制,从而基于源对象的属性信息进行后续操作,而不改变源对象的属性信息,比如DTO数据传输对象和数据对象DO,我们需要将DO对象进行属性复制到DTO,但是对象格式又不一样,所以我们需要编写映射代码将对象中的属性值从一种类型转换成另一种类型. # 对象拷贝 在具体介绍两种 BeanUtils 之前,先来补充一些基础知识.它们两种工具本质上就是对象拷贝工具,而对象拷贝又分为深拷贝和浅拷贝,下面进行详细解释. # 什么是浅拷贝和

随机推荐