Spring 集成 hibernate 的事务管理,不用我们手动开启和提交事务了:
需要在xml文件头部的 xsi:schemaLocation 添加:
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
hibernate 配置文件中可设的配置:
hibernate.current_session_context_class=org.springframework.orm.hibernate3.SpringSessionContext
此为默认值,可不设
aop 的设置:
<bean id="transaction_manager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"> </property>
</bean>
<tx:advice id="muser_txAdvice" transaction-manager="transaction_manager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<bean id="muser_inter" class="org.aops.MuserAdvice">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<aop:config>
<aop:pointcut expression="execution(* org.services.impl.MuserServiceImpl.login(String, String))" id="login_pointCut" />
<aop:advisor advice-ref="muser_inter" pointcut-ref="login_pointCut" />
<aop:advisor advice-ref="muser_txAdvice" pointcut-ref="login_pointCut" />
</aop:config>
java 中的代码:
package org.aops;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.hibernate.SessionFactory;
public class MuserAdvice implements MethodInterceptor {
private SessionFactory sessionFactory;
@Override
public Object invoke(MethodInvocation arg0) throws Throwable {
System.out.println("in");
Object obj = arg0.proceed();
System.out.println("out");
return obj;
}
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}
控制台的输出:
in
Hibernate:
select
muser0_.MUID as MUID1_,
muser0_.MUNAME as MUNAME1_,
muser0_.MUPWD as MUPWD1_
from
TEST.MUSER muser0_
where
muser0_.MUNAME=?
and muser0_.MUPWD=?
out
分享到:
相关推荐
注意:只是jdbc自带的jdbctample,不能 用于整合mybatis框架的事务,我整合了,事务不起作用!!!! 按老师的说法是基于xml方式,但不准确,因为也用到了注解 <aop:aspectj-autoproxy proxy-target-class="true">...
我们通常只需借助开发平台中特有数据访问技术和框架(例如spring、JDBC、ADO.NET),结合关系型数据库自带的事务管理机制来实现事务性的需求。关系型数据库通常具有ACID特性:原子性(Atomicity)、一致性...
springrain是spring的极简封装,spring一站式开发的范例. springrain本身就是一个完整的eclipse项目,...spring良好的扩展性,集成度,IOC,AOP事务,已经是项目的基础条件. 项目只依赖spring,没有hibernate,struts,ibati
注解事务管理,支持分布式事务管理7.前后端分离,实现跨域请求,权限拦截,权限细化到按钮、请求与菜单8.实现请求\响应双向数据加密9.可在系统中自由的配置菜单、按钮、访问的权限,保证了操作的安全性,同时也避免...
基于spring3.2.9的版本,采用纯注解的方式以及spring自带的jdbcTemplate操作数据库和事务管理。
4.6. spring的事务如何配置 20 4.7. transaction有那几种实现 21 4 综合部分 21 4.1. Hibernate和spring中常出现的几个异常 21 4.2. Hibernate与jdbc的联系 22 4.3. Hibernate与spring的联系 22 4.4. 项目中为什么...
6.3.1 spring 2.5的声明式事务管理 394 6.3.2 基于xml方式的事务管理配置 396 6.3.3 基于annotation方式的事务管理配置 400 6.4 “桃园三结义”——ssh 2组合开发框架始成 404 6.4.1 spring 2.5集成orm中间件...
服务结果以json格式返回,如果服务层发生异常,返回结果中自带errorCode及errorDesc,不论服务端方法执行成功与否,均会返回执行结果及服务端耗时 ####浏览地址 程序入口类为spring.boot.rest.demo.main....
RuoYi是一个基于Java技术开发的后台管理系统,基于技术组合(SpringBoot+Vue),内置模块有:部门管理、角色用户、菜单即按钮授权、数据权限、系统参数、日志管理、代码生成、表单构建等。支持多数据源、支持分布式...
Java事务API,为J2EE平台提供了分布式事务服务 lucene-core.jar 、lucene-highlighter.jar 、compass-index-patch.jar、 compass-2.1.0.jar 是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 json-...
73.6. 项目中用到的Spring中的切面编程最多的地方:声明式事务管理。 77 73.7. spring的事务如何配置 77 73.8. transaction有那几种实现(事务处理)(Spring) 79 73.9. Spring IoC 79 73.10. Spring AOP面向方面编程 ...
测试可以利用spring的注入功能,引入spring的事物管理,而且对于测试的数据还可以支持回滚,保存数据 velocity-1.6.2.jar velocity-1.6.2-dep.jar velocity-tools-1.4.jar velocity-tools-view-1.4.jar velocity...
1) 功能全面:内置稳定高效的MVC基础架构和DAO框架,支持Action拦截、Form Bean / Dao Bean / Spring Bean装配和声明式事务,提供国际化、文件上传下载、缓存和页面静态化等常用Web组件,能满足绝大部分Web应用的...
由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...
JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...
JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还...