2 回答

TA貢獻1853條經驗 獲得超18個贊
<tx:method>是進行事務設置的,也就是說那些方法遵循事務的一致性。
舉例:
<tx:advice id="baseServiceAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="getDao" propagation="NOT_SUPPORTED"/>
<tx:method name="getJdbcTemplate" propagation="NOT_SUPPORTED"/>
<tx:method name="getHDao" propagation="NOT_SUPPORTED"/>
<tx:method name="getHibernateDao" propagation="NOT_SUPPORTED"/>
<tx:method name="getHibernateTemplate" propagation="NOT_SUPPORTED"/>
<tx:method name="getModelClass" propagation="NOT_SUPPORTED"/>
<tx:method name="get*" read-only="true" propagation="REQUIRED"/>
<tx:method name="find*" read-only="true" propagation="REQUIRED"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="remove*" propagation="REQUIRED"/>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="*"/>
</tx:attributes>
備注:通常一些查詢的方法不涉及到數據庫更改,直接不需要進行事務處理即可,如果是增加、修改、刪除操作的話,必須保持事務的一致性,也就是說如果出錯,整個事務全部回滾,如果成功,整個事務全部成功。

TA貢獻1995條經驗 獲得超2個贊
method是指你需要某種事務的方法名,一般后面接name="";
Pointcut 是指那些方法需要被執行"AOP",是由"Pointcut Expression"來描述的.
Pointcut可以有下列方式來定義或者通過&& || 和!的方式進行組合.
aop:pointcut expression="" 定義在service包和所有子包里的任意類的任意方法的執行:
添加回答
舉報