Spring声明式事务配置管理方法

时间:2021-03-09 17:37:23

       在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请搜索疯狂Java;

  事务配置

  首先在/WEB-INF/applicationContext.xml添加以下内容:

  class="org.springframework.orm.hibernate3.HibernateTransactionManager">

  注:这是作为公共使用的事务管理器Bean。这个会是事先配置好的,不需各个模块各自去配。

  下面就开始配置各个模块所必须的部分,在各自的applicationContext-XXX-beans.xml配置的对于事务管理的详细信息。

  首先就是配置事务的传播特性,如下:

  需要注意的地方:

  (1) advice(建议)的命名:由于每个模块都会有自己的Advice,所以在命名上需要作出规范,初步的构想就是模块名+Advice(只是一种命名规范)。

  (2)tx:attribute标签所配置的是作为事务的方法的命名类型。

  如

  其中*为通配符,即代表以save为开头的所有方法,即表示符合此命名规则的方法作为一个事务。

  propagation="REQUIRED"代表支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。

  (3)aop:pointcut标签配置参与事务的类,由于是在Service中进行数据库业务操作,配的

  应该是包含那些作为事务的方法的Service类。

  首先应该特别注意的是id的命名,同样由于每个模块都有自己事务切面,所以我觉得初步的命名规则因为all+模块名+ServiceMethod。而且每个模块之间不同之处还在于以下一句:

  expression="execution(*com.test.testAda.test.model.service.*.*(..))"

  其中第一个*代表返回值,第二*代表service下子包,第三个*代表方法名,“(..)”代表方法参数。

  (4)aop:advisor标签就是把上面我们所配置的事务管理两部分属性整合起来作为整个事务管理。

  疯狂Java培训的课程采用针对性培养,全面提升学员就业能力,重点加强训练职业素质。老师辛勤的讲解,让学员充分感受Java的魅力,充分激发每个学员对于编程的热爱,让学员在半年的时间内掌握8-10万的代码量,成为真正的技术高手,疯狂Java采用企业全真模拟开发训练,迅速积累项目经验。让学员迅速获得其他人需要花费两年才能获得的工作技能,无忧就业!