Proxy Factory Bean Example : Spring Aspect : Spring : Java examples (example source code) Organized by topic

Java
C++
PHP


Java  »  Spring   » [  Spring Aspect  ]  Screenshots 
 



Proxy Factory Bean Example


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



///////////////////////////////////////////////////////////////////////////////////////
//File:pfb.xml
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <bean id="myBean1" class="MyBean">
        <property name="dep">
            <ref local="myDependency1"/>
        </property>
    </bean>
    
    <bean id="myBean2" class="MyBean">
        <property name="dep">
            <ref local="myDependency2"/>
        </property>
    </bean>
    
    <bean id="myDependencyTarget" class="MyDependency"/>
    
    <bean id="myDependency1" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target">
            <ref local="myDependencyTarget"/>
        </property>
        <property name="interceptorNames">
            <list>
                <value>advice</value>
            </list>
        </property>
    </bean>
    
    <bean id="myDependency2" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target">
            <ref local="myDependencyTarget"/>
        </property>
        <property name="interceptorNames">
            <list>
                <value>advisor</value>
            </list>
        </property>
    </bean>
    
    <bean id="advice" class="MyAdvice"/>
    
    <bean id="advisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
        <property name="advice">
            <ref local="advice"/>
        </property>
        <property name="pointcut">
            <bean class="org.springframework.aop.support.JdkRegexpMethodPointcut">
                <property name="pattern">
                    <value>.*foo.*</value>
                </property>
            </bean>
        </property>
    </bean>
</beans>


///////////////////////////////////////////////////////////////////////////////////////

import java.lang.reflect.Method;

import org.springframework.aop.MethodBeforeAdvice;

public class MyAdvice implements MethodBeforeAdvice {

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

}

///////////////////////////////////////////////////////////////////////////////////////
public class MyBean {

    private MyDependency dep;
    
    public void execute() {
        dep.foo();
        dep.bar();
    }
    
    public void setDep(MyDependency dep) {
        this.dep = dep;
    }
}



///////////////////////////////////////////////////////////////////////////////////////

public class MyDependency {

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


///////////////////////////////////////////////////////////////////////////////////////

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class ProxyFactoryBeanExample {

    public static void main(String[] args) {
        ApplicationContext ctx = new FileSystemXmlApplicationContext(
                "build/pfb.xml");
        
        MyBean bean1 = (MyBean)ctx.getBean("myBean1");
        MyBean bean2 = (MyBean)ctx.getBean("myBean2");
        
        System.out.println("Bean 1");
        bean1.execute();
        
        System.out.println("\nBean 2");
        bean2.execute();
    }
}

           
       
Download: ProxyFactoryBeanExample.zip   ( 1,481  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.  Control Flow ExampleHas Download File
9.  Dynamic Pointcut Example Has Download File
10.  Hello World With PointcutHas Download File
11.  Spring Aspect Introduction ExampleHas Download File
12.  Static Pointcut ExampleHas Download File
13.  Name Pointcut ExampleHas Download File
14.  Name Pointcut Using AdvisorHas 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.