如何简单理解spring aop和事务

本文内容纲要:如何简单理解spring aop和事务

用比喻的方法理解吧:

初学者的理解,仅仅为了个人好记

aop:由三部分组成:工具箱,工人,为工人分配工具

tx事务:由四部分组成:管理者,制度,工人,向工人通知管理制度

为什么这样理解呢?个人觉得好记:

在aop 中有切面:切面内的东西用来公共使用,类似于工具箱:

ref就是这个工具箱的具体bean。。

<aop:aspect id="***"

ref="*****">

切点:切点是许多符合切点表达式的东西,只要符合就可以使用公共的东西。根据表达式,挑出全部符合的。。成为工人

<aop:pointcut id="XXXXXXX"

expression="execution(* party.infoo.spring.AOP.service.*.*(..))"/>

通知:什么前置后置返回等等,无非就是定义了什么时候使用什么,所以理解成为工人分配工具

<aop:before method="doBefore"

pointcut-ref="XXXXXXX"/>

<aop:after method="doAfter"

pointcut-ref="XXXXXXX"/>

<aop:around method="doAround"

pointcut-ref="XXXXXXX"/>

<aop:after-returning method="doAfterReturning"

pointcut-ref="XXXXXXX"/>

<aop:after-throwing method="doAfterThrowing"

pointcut-ref="XXXXXXX"

throwing="ex"/>

事务:

管理者:

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory"/>

</bean>

管理制度的内容就是什么工人做什么任务:如下,是对工人的约束

管理制度(事务通知)不可能无缘无故存在,所以其需要transaction-manager=“ 管理者 ”

<tx:advice id="transactionInterceptor" transaction-manager="transactionManager">

<tx:attributes>

<tx:method name="insert*" propagation="REQUIRED" />

<tx:method name="update*" propagation="REQUIRED" />

<tx:method name="edit*" propagation="REQUIRED" />

<tx:method name="save*" propagation="REQUIRED" />

<tx:method name="add*" propagation="REQUIRED" />

<tx:method name="new*" propagation="REQUIRED" />

<tx:method name="set*" propagation="REQUIRED" />

<tx:method name="remove*" propagation="REQUIRED" />

<tx:method name="delete*" propagation="REQUIRED" />

<tx:method name="change*" propagation="REQUIRED" />

<tx:method name="get*" propagation="REQUIRED" read-only="true" />

<tx:method name="find*" propagation="REQUIRED" read-only="true" />

<tx:method name="load*" propagation="REQUIRED" read-only="true" />

<tx:method name="*" propagation="REQUIRED" read-only="true" />

</tx:attributes>

</tx:advice>

**工人:**工人的定义和aop中类似,只要符合条件的都是工人

<aop:pointcut id="serviceOperation" expression="execution(* party.infoo.service..*.*(..))"/>

向工人通知管理制度: advisor

<aop:advisor advice-ref="transactionInterceptor" pointcut-ref="serviceOperation"/>

本文内容总结:如何简单理解spring aop和事务

原文链接:https://www.cnblogs.com/infoo/p/6422074.html

以上是 如何简单理解spring aop和事务 的全部内容, 来源链接: utcz.com/z/362977.html

回到顶部