分享
 
 
 

spring + hibernate 数据话持久层(转)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

对于J2EE 应用程序而言,事务的处理一般有两种模式:

1. 依靠特定事务资源的事务处理

这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务治理。

如通过JDBC、JTA 的rollback、commit方法;Hibernate Transaction 的rollback、commit方法等。这种方法大家已经相当熟悉。

2. 依靠容器的参数化事务治理

通过容器提供的集约式参数化事务机制,实现事务的外部治理,如EJB 中的事务治理模式。

如,下面的EJB事务定义中,将SessionBean MySession的doService方

法定义为Required。也就是说,当MySession.doServer 方法被某个线程调用时,容器将此线程纳入事务治理容器,方法调用过程中假如发生异常,当前事务将被容器自动回滚,假如方法正常结束,则容器将自动提交当前事务。

<container-transaction >

<method >

<ejb-name>MySession</ejb-name>

<method-intf>Remote</method-intf>

<method-name>doService</method-name>

<method-params>

<method-param>Java.lang.String</method-param>

</method-params>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

容器治理的参数化事务为程序开发提供了相当的灵活性,同时因为将事务委托给容器进行治理,应用逻辑中无需再编写事务代码,大大节省了代码量(非凡是针对需要同时操作多个事务资源的应用),从而提高了生产率。然而,使用EJB 事务治理的代价相当高昂,撇开EJB 容器不菲的价格,EJB的学习成本,部署、迁移、维护难度,以及容器本身带来的性能开销(这往往意味着需要更高的硬件配置)都给我们带来了相当的困惑。此时事务治理所带来的优势往往还不能抵消上面这些负面影响。

Spring事务治理能给我们带来什么?

下面这段XML配置片断展示了Spring中的事务设定方式:

<beans>

<bean id="dataSource"

class="org.apache.commons.dbcp.BasicDataSource"

destroy-method="close">

<property name="driverClassName">

<value>org.gjt.mm.mysql.Driver</value>

</property>

<property name="url">

<value>jdbc:mysql://localhost/sample</value>

</property>

<property name="username">

<value>user</value>

</property>

<property name="passWord">

<value>mypass</value>

</property>

</bean>

<bean id="transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTr

ansactionManager">

<property name="dataSource">

<ref local="dataSource" />

</property>

</bean>

<bean id="userDAO" class="net.xiaxin.dao.UserDAO">

<property name="dataSource">

<ref local="dataSource" />

</property>

</bean>

SpringFrameWork Developer’s Guide Version 0.6

October 8, 2004 So many open source projects. Why not Open your Documents?

<bean id="userDAOProxy"

class="org.springframework.transaction.interceptor.Tran

sactionProxyFactoryBean">

<property name="transactionManager">

<ref bean="transactionManager" />

</property>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有