Home Tutorial Spring Spring3 Aop AspectJ Pointcut Example

 
 

Share on Google+Share on Google+
AspectJ Pointcut Example
Posted on: September 8, 2010 at 12:00 AM
Advertisement
In this tutorial you will learn how to use AspectJ pointcut.

AspectJ Pointcut Example

Spring Pointcut implementation using AspectJ weaver to evaluate a pointcut expression. Following is an example of DefaultPointcut using AspectJ.

StudentBean.java

package roseindia.net.bean;

public class StudentBean {
	String name = "James Bond";
	public static int roll = 007;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getRoll() {
		return roll;
	}

	public void setRoll(int roll) {
		this.roll = roll;
	}

}

SimpleAdvice.java

package roseindia.net.advice;

import java.lang.reflect.Method;

import org.springframework.aop.AfterReturningAdvice;

public class SimpleAdvice implements AfterReturningAdvice {

	@Override
	public void afterReturning(Object object, Method method, Object[] objects,
			Object object1) throws Throwable {
		// TODO Auto-generated method stub
		System.out.println("After " + method);
	}

}

MainClaz.java

package roseindia.net.main;

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

import roseindia.net.advice.SimpleAdvice;
import roseindia.net.bean.StudentBean;

public class MainClaz {
	public static void main(String args[]) {
		StudentBean studentBean = new StudentBean();
		AspectJExpressionPointcut aspectJExpressionPointcut = new AspectJExpressionPointcut();
		aspectJExpressionPointcut
				.setExpression("execution(* roseindia.net.bean..*.get*(..))");
		SimpleAdvice advice = new SimpleAdvice();
		Advisor advisor = new DefaultPointcutAdvisor(aspectJExpressionPointcut,
				advice);
		ProxyFactory proxyFactory = new ProxyFactory();
		proxyFactory.setTarget(studentBean);
		proxyFactory.addAdvisor(advisor);
		StudentBean proxy = (StudentBean) proxyFactory.getProxy();
		System.out.println(proxy.getName());
		proxy.setName("Ram");
		System.out.println(proxy.getRoll());
		System.out.println(proxy.getName());
	}
}


When you run this application it will display message as shown below:


After public java.lang.String roseindia.net.bean.StudentBean.getName()
James Bond
After public int roseindia.net.bean.StudentBean.getRoll()
7
After public java.lang.String roseindia.net.bean.StudentBean.getName()
Ram

Download this example code

Advertisement

Related Tags for AspectJ Pointcut Example :


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: September 8, 2010

Recommend the tutorial

Advertisements Advertisements
 

 

 

DMCA.com