springside的文档中有aop的配置;http://wiki.springside.org.cn/display/springside/Spring+Aop
里面有关于pointcut 表达式语言的表述;

里面也有官方文档中文版的链接:http://www.redsaga.com/spring_ref/2.0/html/aop.html
我们用scheme-based aop 配置方式:
 <aop:config> ......    </aop:config>

Advisor方式:
假设我们有一个MethodBeforeAdvice TestAdvice
;用于打印将要执行的方面名;
public class TestAdvice implements MethodBeforeAdvice {

    public void before(Method method, Object[] objects, Object object)
throws Throwable {
        System.out.println("method.getName() = " + method.getName());
        System.out.println("TestAdvice testing..." );
    }

}

配置如下:
 <bean id="testAdvice"
class="biz.pxzit.application.service.TestAdvice"/>
 <aop:config>
      <aop:advisor pointcut="execution(* biz..*Mgr.save*(..))"
advice-ref="testAdvice" order="1"/>

      ......
   </aop:config>

order是可选的,指定执行的次序;上面的配置语意是,在执行biz开头的package下面任意以Mgr结尾的managersave开头的方法时候,执行testAdvice,因为是MethodBeforeAdvice
所以在save开头方法执行前执行;

Aspect方式:
public class TestAdvice2  {

    public void goAfter(JoinPoint joinPoint) throws Throwable {
        System.out.println("TestAdvice2.goAfter
testing..."+joinPoint.getTarget());
        System.out.println("TestAdvice2.goAfter testing..." );
    }

}

配置如下:

 <bean id="testAdvice2"
class="biz.pxzit.application.service.TestAdvice2"/>
 <aop:config>
           ......
            <aop:aspect id="ddAspect" ref="testAdvice2">
            <aop:after method="goAfter"
                        pointcut="execution(* biz..*Mgr.*(..))"
                />
          .......
        </aop:aspect>

   </aop:config>
注意TestAdvice2的方法参数,这里用的是JoinPoint
joinPoint
,还有很多细节,具体可以看文档;
要使用<aop:aspect >节点,还需asm.jar
3个,在springframeworklib下有)否则会报noclassfound
exception

注意我之前配置的pointcut表达式是错的,正确的是execution(*
biz..*Mgr.*(..))"