Jdk Regexp Method Pointcut : AOP « Spring « Java






Jdk Regexp Method Pointcut

       
File: Main.java

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.springframework.aop.Advisor;
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.JdkRegexpMethodPointcut;

public class Main {
  public static void main(String[] args) {
      RegexpBean target = new RegexpBean();

      JdkRegexpMethodPointcut pc = new JdkRegexpMethodPointcut();
      pc.setPattern(".*foo.*");
      Advisor advisor = new DefaultPointcutAdvisor(pc, new SimpleAdvice());

      ProxyFactory pf = new ProxyFactory();
      pf.setTarget(target);
      pf.addAdvisor(advisor);
      RegexpBean proxy = (RegexpBean)pf.getProxy();

      proxy.foo1();
      proxy.foo2();
      proxy.bar();
  }
}
class SimpleAdvice implements MethodInterceptor {

  public Object invoke(MethodInvocation invocation) throws Throwable {
      System.out.println("SimpleAdvice.Invoking:" + invocation.getMethod().getName());
      Object retVal = invocation.proceed();
      System.out.println("SimpleAdvice.Done");
      return retVal;
  }
}

class RegexpBean {

  public void foo1() {
      System.out.println("RegexpBean.foo1");
  }

  public void foo2() {
      System.out.println("RegexpBean.foo2");
  }

  public void bar() {
      System.out.println("RegexpBean.bar");
  }
}



           
       








Spring-JdkRegexpMethodPointcut.zip( 4,745 k)

Related examples in the same category

1.Spring Tracing Aspect
2.Method Lookup
3.Method Before Advice
4.Matcher For Getter And Setter
5.Spring AOP Examples
6.Customizable TraceInterceptor
7.Concurrency Throttle Interceptor
8.ComposablePointcut Union
9.ComposablePointcut Intersection
10.AspectJ Expression Pointcut
11.AspectJ AutoProxy
12.Aspect Filter
13.Aspect Annotation Pointcut AroundAfter
14.Aspect Annotation
15.AOP Annotation
16.Annotation Scope
17.Annotation Component
18.Annotated Autowiring