Mega Code Archive

 
Categories / Java / Spring
 

Regexp Pointcut Example

/* Pro Spring By Rob Harrop Jan Machacek ISBN: 1-59059-461-4 Publisher: Apress */ /////////////////////////////////////////////////////////////////////////////////////// public class RegexpBean {     public void foo1() {         System.out.println("foo1");     }          public void foo2() {         System.out.println("foo2");     }          public void bar() {         System.out.println("bar");     } } /////////////////////////////////////////////////////////////////////////////////////// import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; public class SimpleAdvice implements MethodInterceptor {     public Object invoke(MethodInvocation invocation) throws Throwable {         System.out.println(">> Invoking " + invocation.getMethod().getName());         Object retVal = invocation.proceed();         System.out.println(">> Done");         return retVal;     } } /////////////////////////////////////////////////////////////////////////////////////// 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 RegexpPointcutExample {     public static void main(String[] args) {         RegexpBean target = new RegexpBean();                  // create the advisor         JdkRegexpMethodPointcut pc = new JdkRegexpMethodPointcut();         pc.setPattern(".*foo.*");         Advisor advisor = new DefaultPointcutAdvisor(pc, new SimpleAdvice());                  // create the proxy         ProxyFactory pf = new ProxyFactory();         pf.setTarget(target);         pf.addAdvisor(advisor);         RegexpBean proxy = (RegexpBean)pf.getProxy();                  proxy.foo1();         proxy.foo2();         proxy.bar();     } }                    RegexpPointcutExample.zip( 1,479 k)