spring.net 的事物管理
来源:互联网 发布:java 补全位数 编辑:程序博客网 时间:2024/04/28 07:52
在spring.net中实现事物管理,可以有两种方式:
1.编程式事物
编程式事物有如下几步,
a.
2.Ioc容器注入事物
在通过aop注入事物时有多种配置方式
A.在Ioc容器中声明事物,然后在应用事物的方法上通过.net的attribute机制来应用事物。
示例代码:
application.xml代码:
<object id="transactionManager"
type="Spring.Data.Core.TxScopeTransactionManager, Spring.Data">
</object>
<!-- Transaction aspect -->
<tx:attribute-driven/>
应用事物的方法:
[Transaction(TransactionPropagation.Required)]
public bool Save(Models.Student student)
{
object obj = HibernateTemplate.Save(student);
return obj != null;
}
但是必须注意的一点是,如果在nunit下测试时必须通过容器来提交
示例代码如下:
[Test]
public void TestStudentDAL()
{
bool bo = StudentDAL().Save(new Student("李四", "男", 22, "zhangsan@163.com"));
transactionManager.Commit(transactionStatus);
Assert.IsNotNull(bo);
}
B:采用Aop的另外是用方式
如果Ioc容器中的配置是
<object id="transactionManager"
type="Spring.Data.Core.ServiceDomainPlatformTransactionManager, Spring.Data">
</object>
<!-- Transaction aspect -->
<tx:attribute-driven/>
这是针对于web服务的一种配置方式
C:这种配置方式是针对于使用Data Access数据访问的一种方式
<object id="transactionManager"
type="Spring.Data.Core.AdoPlatformTransactionManager, Spring.Data">
<property name="DbProvider" ref="DebitDbProvider"/>
</object>
<!-- Transaction aspect -->
<tx:attribute-driven/>
D:切面方式的配置
<object id="txAttributePointcut" type="Spring.Aop.Support.AttributeMatchMethodPointcut, Spring.Aop">
<property name="Attribute" value="Spring.Transaction.Interceptor.TransactionAttribute, Spring.Data"/>
</object>
<aop:config>
<aop:advisor id="exceptionProcessAdvisor" order="1"
advice-ref="exceptionAdvice"
pointcut-ref="txAttributePointcut"/>
</aop:config>
E:最后一种配置方式
- spring.net 的事物管理
- Spring的事物管理
- Spring的事物管理
- spring的事物管理
- spring的事物管理配置
- spring整合hibernate的事物管理
- spring 比较实用的事物管理
- Spring 事物管理 讲解的很透彻,
- spring使用annonation管理hibernate的事物
- Spring基于HibernateTransactionManager的事物管理
- Spring对hibernate的事物管理
- spring配置里面的事物管理
- Spring对hibernate的事物管理
- Spring对hibernate的事物管理
- spring的声明式事物管理
- Spring的事物管理框架源码分析
- Spring事物管理的四种方式
- spring中事物管理的方式
- 在Linux系统上实现虚拟主机的注意事项
- 多线程与多进程问题
- OGNL表达式(StackContext ValueStack Action Context)入门----Struts2 之一
- Linux开机管理:Lilo与Grub
- c++ const和指针复合使用说明
- spring.net 的事物管理
- 常见的链表相关面试题
- CMarkup的改进
- TD8.0的安装使用及下载地址连接
- GridView分页代码
- oracle 10g中表监控与statistics_level
- C/C++程序员应聘常见面试题深入剖析
- error LNK2019: unresolved external symbol "unsigned int (__stdcall* ATL::g_pfnGetThreadACP)(void)" (?g_pfnGetThreadACP@ATL@@3P6G
- WinCE下的非常用字符串操作函数