spring aop 中切面表达式规则

spring AOP 可以通过两中方式配置:
①注解 (很简单)
②xml文件配置
这里通过说的通过xml 配置中的切面表达式

   
    <aop:config>  
        <aop:pointcut id="serviceOperation"  
            expression=" execution(* online.tengxing.service.*.*(..))" />  
        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />  
    aop:config>  
     
    <tx:advice id="txAdvice" transaction-manager="transactionManager">  
          
        <tx:attributes>  
            <tx:method name="insert*" propagation="REQUIRED" />  
            <tx:method name="update*" propagation="REQUIRED" />  
        tx:attributes>  
    tx:advice>  

切入点表达式的使用规则:

execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)

有“?”号的部分表示可省略的,modifers-pattern表示修饰符如publicprotected等,ret-type-pattern表示方法返回类型,declaring-type-pattern代表特定的类,name-pattern代表方法名称,param-pattern表示参数,throws-pattern表示抛出的异常。在切入点表达式中,可以使用*来代表任意字符,用..来表示任意个参数

可以利用多级文件夹和通配符来理解.*
提示:

在”tion(* onli”后面有个空格,没有空格会报错:

Pointcut is not well-formed: expecting ‘name pattern’ at character position

你可能感兴趣的:(Web开发)