spring配置事务管理为什么用aop:advisor

事务配置有aop:aspect和aop:advisor两种方式,但是在spring的事务管理的配置中会用aop:advisor配置,而不是aop:aspect

aop:aspect可以有多个pointcut,只能以类和方法作为参数.而aop:advisor只能有一个pointcut,但是aop:advisor可以接受策略参数,在spring中事务配置使用策略方式,这种方式只能用aop:advisor配置

以 <aop:pointcut id="serviceMethod" expression="execution(* *..*Service.*(..))" />为例讲解

首先:这个表达式是分为4块的,即:方法返回类型 包 +(子包)+ 方法名 + 参数个数或者类型

1、第一个 * 表示:对任意的返回类型方法进行匹配

2、第二个 * 表示:  对任意的包并且包的最后是以Service结尾的包

3、第三个 * 表示:  对任意的方法名进行匹配

 4、第四个(..)表示: 通配,即方法中可以有0个或者多个参数,如果想执行参数为2个,即(*, String)表示2个参数,第二个参数为String类型。

 

posted @ 2021-06-03 09:20  活在当下~W  阅读(492)  评论(0)    收藏  举报