After Returning Advice Demo : XML Bean « Spring « Java Tutorial






File: Main.java

import org.springframework.aop.Advisor;
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.aop.support.DefaultPointcutAdvisor;

import bean.MyClass;
import bean.SimpleAfterAdvice;

public class Main {

  public static void main(String[] args) {
    MyClass target = new MyClass();

    AspectJExpressionPointcut pc = new AspectJExpressionPointcut();
    pc.setExpression("execution(* bean..*.get*(..))");

    Advisor advisor = new DefaultPointcutAdvisor(pc, new SimpleAfterAdvice());

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

    MyClass proxy = (MyClass) pf.getProxy();
    System.out.println(proxy.getName());
    proxy.setName("New Name");
    System.out.println(proxy.getHeight());

  }

}

File: MyClass.java

package bean;


public class MyClass {

    public String getName() {
        return "AAA";
    }

    public void setName(String name) {

    }

    public int getHeight() {
        return 201;
    }
}

File: SimpleAfterAdvice.java

package bean;

import org.springframework.aop.AfterReturningAdvice;

import java.lang.reflect.Method;


public class SimpleAfterAdvice implements AfterReturningAdvice{
    public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
        System.out.println("After method: " + method);
    }
}
  Download:  Spring-AfterReturningAdviceDemo.zip( 4,746 k)








28.4.XML Bean
28.4.1.XML Bean Injection with namespace
28.4.2.BeanName Aware
28.4.3.XML Based Bean Configuration
28.4.4.Required Property Not Set Exception
28.4.5.Method Loopup
28.4.6.Local Reference
28.4.7.Inheritance Demo
28.4.8.Get Method By Name
28.4.9.Factory Object Integration
28.4.10.Spring factory method
28.4.11.Factory Bean Demo
28.4.12.Autowiring
28.4.13.Annotation Component
28.4.14.Annotated Autowiring
28.4.15.Alias Bean Demo
28.4.16.After Returning Advice Demo