Control Flow Example : Spring Aspect : Spring : Java examples (example source code) Organized by topic

Java
C++
PHP


Java  »  Spring   » [  Spring Aspect  ]  Screenshots 
 



Control Flow Example

/*
Pro Spring
By Rob Harrop
Jan Machacek
ISBN: 1-59059-461-4
Publisher: Apress
*/

///////////////////////////////////////////////////////////////////////////////////////
public class TestBean {

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


///////////////////////////////////////////////////////////////////////////////////////
import java.lang.reflect.Method;

import org.springframework.aop.MethodBeforeAdvice;

public class SimpleBeforeAdvice implements MethodBeforeAdvice {


    public void before(Method method, Object[] args, Object target)
            throws Throwable {
        System.out.println("Before method: " + method);
    }

}


///////////////////////////////////////////////////////////////////////////////////////
import org.springframework.aop.Advisor;
import org.springframework.aop.Pointcut;
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.aop.support.ControlFlowPointcut;
import org.springframework.aop.support.DefaultPointcutAdvisor;

public class ControlFlowExample {

    public static void main(String[] args) {
        ControlFlowExample ex = new ControlFlowExample();
        ex.run();
    }

    public void run() {
        TestBean target = new TestBean();

        // create advisor
        Pointcut pc = new ControlFlowPointcut(ControlFlowExample.class, "test");
        Advisor advisor = new DefaultPointcutAdvisor(pc,
                new SimpleBeforeAdvice());

        // create proxy
        ProxyFactory pf = new ProxyFactory();
        pf.setTarget(target);
        pf.addAdvisor(advisor);

        TestBean proxy = (TestBeanpf.getProxy();

        System.out.println("Trying normal invoke");
        proxy.foo();
        System.out.println("Trying under ControlFlowExample.test()");
        test(proxy);
    }

    private void test(TestBean bean) {
        bean.foo();

    }
}

           
       
Download: ControlFlowExample.zip   ( 1,479  K )  
Related examples in the same category
1.  Profiling ExampleHas Download File
2.  Introduction Config ExampleHas Download File
3.  Security ExampleHas Download File
4.  Simple After Returning AdviceHas Download File
5.  Simple Before AdviceHas Download File
6.  Simple Throws AdviceHas Download File
7.  Composable Pointcut ExampleHas Download File
8.  Dynamic Pointcut Example Has Download File
9.  Hello World With PointcutHas Download File
10.  Spring Aspect Introduction ExampleHas Download File
11.  Static Pointcut ExampleHas Download File
12.  Name Pointcut ExampleHas Download File
13.  Name Pointcut Using AdvisorHas Download File
14.  Proxy Factory Bean ExampleHas Download File
15.  Proxy Perf TestHas Download File
16.  Regexp Pointcut ExampleHas Download File
17.  After Advice ExampleHas Download File
18.  AspectJ Example from Pro SpringHas Download File
19.  Aspect Hello World ExampleHas Download File
























Home| Contact Us
Copyright 2003 - 04 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.