Hints
Below is an example of "Spring AOP's pointcut expression using execution() AspectJ Designator with Example"
|
Download as Zip
Link to download
AOPLogBeforeAndAfterMethodonExcutionExpression
Hints.
Click on File menu. then click " Download"
|
Step.1 Start a Java Project with required jars
- Open Eclipse
- Click on menu New -> Others
- In wizards type "Java Project" and Select "Java Project"
- Click Next
- Enter project name as "AOPLogBeforeAndAfterMethodonExcutionExpression", then click Next
- Goto Libraries tab, then click on Add External JARs, then select Spring's 21 Framework Jars aopalliance-1.0.jar, aspectjtools-1.6.6.jar and commons-logging-1.1.jar.
- Click Finish.
|
Step.2 Project Explorer Preview
|
1 2 3 4 5 6 7 8 9 10 11 12 | package com.springexample;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class RunMyProgram {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext( "beans.xml" );
StudentHolder studentHolder = (StudentHolder) context.getBean( "studentHolder" );
studentHolder.displayStudentDetails();
}
}
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.springexample;
public class StudentHolder {
Student student;
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this .student = student;
}
public void displayStudentDetails(){
System.out.println( "Student Details" );
System.out.println( "---------------" );
System.out.println( "Student No: " +student.getStudentNo());
System.out.println( "Student Name: " +student.getStudentName());
}
}
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <? xml version = "1.0" encoding = "UTF-8" ?>
< bean id = "student" class = "com.springexample.Student" >
< property name = "studentNo" value = "1001" />
< property name = "studentName" value = "John Peter" />
</ bean >
< bean id = "studentHolder" class = "com.springexample.StudentHolder" >
< property name = "student" value = "#{student}" />
</ bean >
< bean id = "mylogger" class = "com.springexample.MyLogger" />
< aop:config >
< aop:aspect ref = "mylogger" >
< aop:pointcut expression = "execution(void com.springexample.StudentHolder.displayStudentDetails())" id = "studentDisplayLogsPnt" />
< aop:before pointcut-ref = "studentDisplayLogsPnt" method = "beforeDisplay" />
< aop:after pointcut-ref = "studentDisplayLogsPnt" method = "afterDisplay" />
</ aop:aspect >
</ aop:config >
</ beans >
|
|
1 2 3 4 5 6 7 8 9 10 | package com.springexample;
public class MyLogger {
public void beforeDisplay(){
System.out.println( "Before display!" );
}
public void afterDisplay(){
System.out.println( "After display!" );
}
}
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package com.springexample;
public class Student {
private int studentNo;
private String studentName;
public int getStudentNo() {
return studentNo;
}
public void setStudentNo( int studentNo) {
this .studentNo = studentNo;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this .studentName = studentName;
}
}
|
|
Output
Before display!
Student Details
---------------
Student No: 1001
Student Name: John Peter
After display!
|