网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.当用Servlet来处理http请求页面时.
.JDBC到底是怎么连上数据库的.
.使用Java来监视系统进程的两个解.
.一个用来访问http服务器的东西。.
.min 方法.
.JSWDK环境安装与配置.
.ReadLine 方法.
.IBM 易捷产品免费讲座 (张江).
.Java中实现文件拷实例.
.为TextBox组件创建简单的剪贴板.
.java.applet.Applet的网络功能(&.
.幸福的联姻:Java和Python.
.eclipse下有用的包JadClipse和Fi.
.SpringAOP在DWR安全上的应用.
.Java socket编程入门[1].
.100行Java代码构建一个线程池.
.感受Ruby on Rails.
.NetBeans IDE4.1 J2EE.
.怎样拿下SUN公司的SCJP认证?.
.JAVA反射技术(二).

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

发表日期:2008-1-5


对于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>

上一篇:maven的POM结构 人气:1034
下一篇:Eclipse编辑国际化资源文件插件 人气:1619
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐