spring中<tx:advice></tx:advice>是什么意思?作用...


意思是这个事物advice的管理者为transactionManager,从配置文件中应该能够找到一个ID为transactionManager的bean,而这个建议中规定了save方法的传输方式为required,也就是说没有sessionfactory的时候会自动建立,有的时候就不会建立了。
当然了这只是规定了一个advice,你还需要指定一个aop:pointcut去引用他,例如
<aop:config>
    <aop:pointcut id="bussinessService"
           expression="execution(public * x.y..*.*(..))" />
       <aop:advisor pointcut-ref="bussinessService"
           advice-ref="tv" />
  </aop:config>
这样这个advice就被联系到了bussinessService这个pointcut上了。
扩展资料
<tx:method >的属性详解
1、readOnly
事务属性中的readOnly标志表示对应的事务应该被最优化为只读事务。如果值为true就会告诉Spring我这个方法里面没有insert或者update,你只需要提供只读的数据库Connection就行了,这种执行效率会比read-write的Connection高,所以这是一个最优化提示。
在一些情况下,一些事务策略能够起到显著的最优化效果,例如在使用Object/Relational映射工具(如:Hibernate或TopLink)时避免dirty checking(试图“刷新”)。
2、timeout
在属性中还有定义“timeout”值的选项,指定事务超时为几秒。一般不会使用这个属性。在JTA中,这将被简单地传递到J2EE服务器的事务协调程序,并据此得到相应的解释。
<tx:advice>:事务通知定义,用于指定事务属性,其中“transaction-manager”属性指定事务管理器,并通过< tx:attributes 指定具体需要拦截的方法。
<tx:method name="save*">. 表示将拦截以save开头的方法,被拦截的方法将应用配置的事务属性: propagation="REQUIRED"表示 传播行为是Required, isolation="READ_ _COMMITTED" 表示隔离级别是提交读。
<tx:method name="*">: 表示将拦截其他所有方法,被拦截的方法将应用配置的事务属性:propagation="REQUIRED"表示传播行为是Required, isolation= "READ_ COMMITTED"表示隔离级别是提交读,read-only= "true"表示事务只读。
3、关于propagation属性的7个传播行为
REQUIRED:指定当前方法必需在事务环境中运行,如果当前有事务环境就加入当前正在执行的事务环境,如果当前没有事务,就新建一个事务。这是默认值。 
SUPPORTS:指定当前方法加入当前事务环境,如果当前没有事务,就以非事务方式执行。 
MANDATORY:指定当前方法必须加入当前事务环境,如果当前没有事务,就抛出异常。
REQUIRES_NEW:指定当前方法总是会为自己发起一个新的事务,如果发现当前方法已运行在一个事务中,则原有事务被挂起,我自己创建一个属于自己的事务,直我自己这个方法commit结束,原先的事务才会恢复执行。
NOT_SUPPORTED:指定当前方法以非事务方式执行操作,如果当前存在事务,就把当前事务挂起,等我以非事务的状态运行完,再继续原来的事务。
意思是这个事物advice的管理者为transactionManager,你从配置文件中应该能够找到一个ID为transactionManager的bean,而这个建议中规定了save方法的传输方式为required,也就是说没有sessionfactory的时候会自动建立,有的时候就不会建立了。当然了这只是规定了一个advice,你还需要指定一个aop:pointcut去引用他,例如<aop:config> <aop:pointcut id="bussinessService" expression="execution(public * x.y..*.*(..))" /> <aop:advisor pointcut-ref="bussinessService" advice-ref="tv" /> </aop:config>这样这个advice就被联系到了bussinessService这个pointcut上了

文章标签:

本文链接:https://www.u1e.cn/baike/a/7c208784c5e78ec1f46c874d [复制]

猜你喜欢

歇后语大全

还没有人回应过