java事务相关 (java事务注解失效场景)
本文目录导航:
java事务相关
Java中的事务处置普通状况下,J2EE运行主机支持JDBC事务、JTA(JavaTransactionAPI)事务、容器治理事务。
普通状况下,最好不要在程序中同时经常使用上述三种事务类型,比如在JTA事务中嵌套JDBC事务。
第二方面,事务要在尽或许短的期间内成功,不要在不同方法中成功事务的经常使用。
上方咱们罗列两种事务处置形式。
1、JavaBean中经常使用JDBC形式启动事务处置在JDBC中怎样将多个SQL语句组分解一个事务呢?在JDBC中,关上一个衔接对象Connection时,缺省是auto-commit形式,每个SQL语句都被当作一个事务,即每次口头一个语句,都会智能的获取事务确认。
为了能将多个SQL语句组分解一个事务,要将auto-commit形式屏蔽掉。
在auto-commit形式屏蔽掉之后,假设不调用commit()方法,SQL语句不会获取事务确认。
在最近一次性commit()方法调用之后的一切SQL会在方法commit()调用时获取确认。
publicintdelete(intsID){dbc=newDataBaseConnection();Connectioncon=();try{(false);//更改JDBC事务的自动提交形式(deletefrombylawwhereID=+sID);(deletefrombylaw_contentwhereID=+sID);(deletefrombylaw_affixwherebylawid=+sID);();//提交JDBC事务(true);//复原JDBC事务的自动提交形式();return1;}catch(Exceptionexc){();//回滚JDBC事务();();return-1;}}2、SessionBean中的JTA事务JTA是事务服务的J2EE处置打算。
实质上,它是形容事务接口(比如UserTransaction接口,开发人员间接经常使用该接口或许经过J2EE容器经常使用该接口来确保业务逻辑能够牢靠地运转)的J2EE模型的一局部。
JTA具备的三个关键的接口区分是UserTransaction接口、TransactionManager接口和Transaction接口。
这些接口共享公共的事务操作,例如commit()和rollback(),然而也蕴含不凡的事务操作,例如suspend(),resume()和enlist(),它们只出如今特定的接口上,以便在成功中准许必定水平的访问控制。
例如,UserTransaction能够口头事务划分和基本的事务操作,而TransactionManager能够口头高低文治理。
运行程序可以调用()方法开局一个事务,该事务与运行程序正在其中运转的以后线程相关联。
底层的事务治理器实践处置线程与事务之间的关联。
()方法中断与以后线程关联的事务。
()方法将丢弃与以后线程关联的以后事务。
publicintdelete(intsID){DataBaseConnectiondbc=null;dbc=newDataBaseConnection();();UserTransactiontransaction=();//取得JTA事务try{();//开局JTA事务(deletefrombylawwhereID=+sID);(deletefrombylaw_contentwhereID=+sID);(deletefrombylaw_affixwherebylawid=+sID);();//提交JTA事务();return1;}catch(Exceptionexc){try{();//JTA事务回滚}catch(Exceptionex){//JTA事务回滚出错处置();}();();return-1;}}
介绍几本javaEE的书籍,经典的。不要李刚的(只管讲的好,然而繁琐,基础物品太多了)。联合了三大框架的
第一局部: Java言语篇1 《Java编程规范》星级:适宜对象:初级,中级引见:作者James Gosling(Java之父),所以这本书我觉得你怎样也得读一下。
对基础解说的很不错。
2 《Java外围技术:卷Ⅰ基础常识》星级:适宜对象:初级,中级引见:官网机构图书,你怎样也得有一本,这本书比拟片面而且易懂。
放在案旁用到的时刻查一查,看一看。
是学习入门必备书。
当然还有II注:新手必备3 《Java编程思维》星级:适宜对象:初级,中级引见:这本书的作者就是驰名的C++编程思维,对OO的了解很好,Java作为一门面向对象的言语,你学习Java最好也同时参考这本书启动入门学习。
注:新手必备4 《Effective Java》星级:适宜对象:初级,中级,初级引见:作者是Java的第2号人物,目前是Google的Java老大,是James Gosling强力介绍的一本书。
5 《Java与形式》星级: 适宜对象:中级,初级引见:是国人写的难得的值得购置的一本书,当然如今也有大话设计形式之类的发生,这本书发生的比拟早,是初级到中初级必读的图书之一。
注:没有了解面向对象前,读这本书没无心义。
最好是有过名目阅历再读比拟好。
6 《SCJP学习指南》 星级:适宜对象:初级,中级引见:官网考试必备图书,对你测验自己学些Java常识状况很有协助,这本书最适宜在校生浏览,这本书了解透了,找上班面试Java标题不会有任何疑问,上班多年的拿这里的标题不会做的都很多。
7 《Java数据结构和算法》星级: 适宜对象:初级,中级,初级引见:这本书经常使用Java言语形容了咱们罕用的数据结构,写的十分不错。
值得一看,不过目前基本断货(这个就是最无利的说明)。
8《Junit Recipes中文版:程序员适用测试技巧》星级:适宜对象:初级,中级,初级引见:目前矫捷盛行,这个你是不论怎样也得看一看的。
第二局部:中级进阶篇1《spring in action》星级:适宜对象:初级,中级,初级引见:Spring框架,作为Java程序员是怎样都必定学习的。
IOC、AOP是你以后见到的软件的基础。
另外基本上很多物品都和Spring发生咨询。
2《知晓Spring 2.x:企业运行开发详解》星级:适宜对象:初级,中级,初级引见:书中提供了Spring中的目前最盛行用法的实例和适用状况。
3《iBatis通常》星级:适宜对象:初级,中级,初级引见:iBatis必看参考书,in action从未让人绝望过。
4 《知晓hibernate:Java对象耐久化技术详解》星级:适宜对象:初级,中级,初级引见:Hibernate必备参考书,也是国人写的,难得的一本好书,而且作者是个MM。
5 《Struts 2.1威望指南》星级:适宜对象:初级,中级引见:学习Struts2的一外国人写的不错的书,不过称号显得大了点。
威望指南应该只要作者才可以这么叫。
6 《Maven通常》星级:适宜对象:初级,中级引见:从Ant到Maven如今时大势所趋了,您怎样也得学习一下。
7《expert one-on-one J2EE Development without EJB中文版》星级:适宜对象:初级,中级引见:这个其实是Spring的基础,作者巨牛。
强力介绍,惋惜是基本买不到这本书了。
8 《Tomcat威望指南》星级:适宜对象:初级,中级引见:做Java Web的普通都必定学习这个,为Apache的开源名目。
9 《Head First Servlets & Jsp》星级:适宜对象:初级,中级引见:Servlet和Jsp作为JavaEE程序员是必定要把握好的,而且Head First系列从未令人绝望。
10 《Head First HTML与》星级:适宜对象:初级引见:引见Web前端的不错的入门书。
11 《HTML+CSS网页设计与规划从入门到知晓》星级:适宜对象:初级引见:这本书最大的特点是带光盘而且解说的不错,运行实例也不错。
12 《JavaScript宝典》星级:适宜对象:初级,中级,初级引见:是学习js的必备参考工具书之一,我记得几年前国际都没有中文版,我都把整本书打印进去看了一下。
13 《JavaScript威望指南》星级:适宜对象:初级,中级,初级引见:是学习js的必备参考工具书之一。
我看我共事购置了,看起来还不错。
14 《降服Ajax Web2.0开发技术详解》星级:适宜对象:初级,中级引见:这本书当年是CSDN送给我的,觉得还是不错的。
对学习AJAX有协助。
15 《jQuery基础教程》星级:适宜对象:初级,中级,初级引见:从这个开局学习jQuery才是基本。
不然以后遇到的很多奇异疑问不知所以然。
jQuery团体觉得曾经成为目前的javascript规范库了,插件有数,大大简化了前端上班。
16 《XML入门经典》星级:适宜对象:初级,中级,初级引见:很多人觉得没必要买XML书籍,不过我还是觉得介绍一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。
外面不少物品还是用到的。
17 《矫捷软件开发(准则形式与通常)》星级:适宜对象:中级,初级引见:矫捷巨匠的著述,您怎样也得看看。
这本书蕴含了UML的解说,所以我就不介绍UML的书了。
18 《重构:改善既有代码的设计》星级:适宜对象:中级,初级引见:雷同是巨匠的杰作,无法不看。
最关键的是让你明确软件也是一步步改良的,不是欲速不达的。
19 《代码整洁之道》星级:适宜对象:中级,初级引见:软件工程的现实编码是要求有数人编进去的代码像一团体写的。
这本书当作规范就不错。
星级:20 《Java Web Service》适宜对象:中级,初级引见:不过还是介绍一下我看过的吧。
了解基本概念还是要本书的。
留意:WebService的图书我还真不知道给您介绍什么,都不怎样样。
您做个实例就明确,不过怎样做接口才是外围。
第三局部:初级篇1《Java信息服务》星级:适宜对象:初级,中级,初级引见:信息机制是以前散布式经常适用到的,与此相关的有Apache Active MQ启动开发,而且这本书的实例也是用的AQ。
星级:2 《Java并发通常》适宜对象:中级,初级引见:这本书也是牛人们强力介绍的,学习并发必备。
Java Thread Programming另外介绍一本英文的:3 《Enterprise JavaBeans 3.0中文版》星级:适宜对象:中级,初级引见:EJB技术在大型系统中经常使用,关键有银行等金融机构。
是开发散布式程序的选项之一,不过我不青睐,其实银行经常使用的也不怎样的。
联合JavaEE容器经常使用,开源的有JBoss,商用的有IBM和Oracle支持。
4 《Hadoop威望指南》注:该类型书也有Head First系列,也很不错。
另外《J2EE运行与BEA WebLogic Server》书也很不错。
星级:适宜对象:中级,初级引见:云计算必备图书。
作为散布式计算的工具,Hadoop目前可以说是市场上惟一成熟的产品,而且大家也都向其看齐。
而起云计算煊赫一时,你搞明确这本书就大略明确了什么是云以及怎样做云。
做Hadoop的没人不读这本书,没读过的也不要说你搞过Hadoop。
星级:附: 《Linux 鸟哥的私房菜》适宜对象:初级,中级,初级引见:这本书对经常使用和学习Linux很有用,大而全,解释的也不错,罕用的基本都有了,一本在手,绝无顾忧。
最后,介绍一本贯彻所有软件工程和全文的图书《代码大全》,只是一句话:两届Software Development Magzine Jolt Award震撼大奖得主。
最近发现有人购置我的2手书:附加:深化Java虚构机(原书第2版)附光盘---SUN公司外围技术丛书所以我介绍一下上方的这本:The Java Virtual Machine Specification团体以为这个写的比拟好,并且更威望。
Java高手是怎样炼成的?
Java高手是怎样炼成的,你猜。
他们说当你知晓这25个学习点,一切都水到渠成了。
你要求知晓面向对象剖析与设计(OOA/OOD)、触及形式(GOF,J2EEDP)以及综合形式。
你应该了解UML,尤其是class、object、interaction以及statediagrams。
你要求学习Java言语的基础常识以及它的外围类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、NIO、localization以及其余)。
你应该了解JVM、classloaders、classreflect以及渣滓回收的基本上班机制等。
你应该有才干反编译一个类文件并且明确一些基本的汇编指令。
假设你将要写客户端程序,你要求学习Web的小运行程序(applet),必需把握GUI设计的思维和方法,以及桌面程序的SWING、AWT、SWT。
你还应该对UI部件的JavaBEAN组件形式有所了解。
JavaBEANS也被运行在JSP中以把业务逻辑从表现层中分别进去。
你要求学习Java数据库技术,并且会经常使用至少一种persistence/ORM构架,例如hibernate、JDO、CocoBase、TopLink、InsideLiberator(国产JDO红工厂软件)或许iBatis。
你还应该了解对象相关的阻抗失配的含意以及它是如何影响业务对象与相关型数据库的交互,和它的运转结果。
还要求把握不同的数据库产品运用,比如Oracle、MySQL、SQLserver。
你要求学习Servlets、JSP,以及JSTL(StandardTagLibraries)和可以选用的第三方TagLibraries。
你要求相熟干流的网页框架,例如JSF、Struts、Tapestry、Cocoon、WebWork,以及他们上方的触及形式,如MVC/MODEL2。
你要求学习如何经常使用及治理Web主机,例如tomcat、resin、Jrun,并且知道如何在其基础上裁减和保养Web程序。
你要求学习散布式对象以及远程API,例如RMI和RMI/IIOP。
你要求把握各种盛行两边件技术规范和与Java联分解功,比如Tuxedo、CROBA,当然也包括JavaEE自身。
你要求学习起码一种的XMLAPI,JAXP(JavaAPIforXMLProcessing)、JDOM(JavaforXMLDocumentObjectModel)、DOM4J或JAXR(JavaAPIforXMLRegistries)。
你应该学习如何应用Java的API和工具来构建WebService。
例如JAX-RPC(JavaAPIforXML/RPC)、SAAJ(SOAPwithAttachmentsAPIforJava)、JAXB(JavaArchitectureforXMLBinding)、JAXM(JavaAPIforXMLMessaging)、JAXR(JavaAPIforXMLRegistries)或许JWSDP(JavaWebServicesDeveloperPack)。
你要求学习一门轻量级运行程序框架,例如spring、PicoContainer、Avalon,以及它们的IoC/DI格调(setter,constructor,interfaceinjection)。
你要求相熟不同的J2EE技术,例如JNDI(JavaNamingandDirectoryInterface)、JMS(JavaMessageService)、JTA/JTS(JavaTransactionAPI/JavaTransactionService)、JMX(JavaManagementeXtensions),以及JavaMail。
你要求学习企业级JavaBeans(EJB)以及它们的不同组件形式:Stateless/StatefulSessionBeans、EntityBeans(蕴含Bean-ManagedPersistence[BMP]或许Container-ManagedPersistence[CMP]和它的EJB-QL),或许Message-DrivenBeans(MDB)。
你要求学习如何治理与性能一个J2EE运行程序主机,如WebLogic、JBoss等,并且应用它的附加服务,例如簇类,衔接池以及散布式处置援助。
你还要求了解如何在它上方封装和性能运行程序并且能够监控、调整它的性能。
你要求相熟面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混杂的缩写为AOP),以及他们的干流Java规格和口头。
例如AspectJ和AspectWerkz。
你要求相熟对不同有用的API和framework等来为你服务。
例如Log4J(logging/tracing),Quartz(scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching),Lucene(full-textsearch),JakartaCommons等等。
你应该熟练把握一种JavaIDE例如sunOne、netBeans、IntelliJIDEA或许Eclipse。
(有些人更青睐VI或EMACS来编写文件。
随意你用什么了)
Java(准确的说是有些性能)是简短的,它要求很多的人工代码(例如EJB),所以你要求相熟代码生成工具,例如XDoclet。
你要求相熟一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。
你要求相熟一些在Java开发中常罕用到的软件工程环节。
例如RUP(RationalUnifiedProcess)andAgilemethodologies。
你还要求紧跟Java开展的步调,比如如今可以深化的学习Webwork2.0。
你必要求对实践名目标开发流程有所了解,至少要有两个有实践运行价值的名目,而不是练习名目!由于如今企业看重的是你有没有实践的开发阅历,真正开发阅历的表现就是你做的名目,也就是有实践运行的名目!