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类型。
浙公网安备 33010602011771号