diff --git a/grademanagement-SpringProject/src/bean-aop-xml.xml b/grademanagement-SpringProject/src/bean-aop-xml.xml new file mode 100644 index 0000000..06992e6 --- /dev/null +++ b/grademanagement-SpringProject/src/bean-aop-xml.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/grademanagement-SpringProject/src/com/ssm/aop/xml/Log.java b/grademanagement-SpringProject/src/com/ssm/aop/xml/Log.java new file mode 100644 index 0000000..4a56c14 --- /dev/null +++ b/grademanagement-SpringProject/src/com/ssm/aop/xml/Log.java @@ -0,0 +1,14 @@ +package com.ssm.aop.xml; + +import org.aspectj.lang.JoinPoint; // 必须导入这个! + +public class Log { + // 前置通知:在目标方法执行前执行 + public void beforeAdvice(JoinPoint joinPoint) { + // 获取目标类名 + String className = joinPoint.getTarget().getClass().getName(); + // 获取目标方法名 + String methodName = joinPoint.getSignature().getName(); + System.out.println("前置通知:模拟日志记录...目标类是:" + className + ",被切入通知的目标方法为:" + methodName); + } +} \ No newline at end of file diff --git a/grademanagement-SpringProject/src/com/ssm/di/Student.java b/grademanagement-SpringProject/src/com/ssm/aop/xml/Student.java similarity index 98% rename from grademanagement-SpringProject/src/com/ssm/di/Student.java rename to grademanagement-SpringProject/src/com/ssm/aop/xml/Student.java index e63d86e..bf160c7 100644 --- a/grademanagement-SpringProject/src/com/ssm/di/Student.java +++ b/grademanagement-SpringProject/src/com/ssm/aop/xml/Student.java @@ -1,4 +1,4 @@ -package com.ssm.di; +package com.ssm.aop.xml; public class Student { // 学生核心属性 diff --git a/grademanagement-SpringProject/src/com/ssm/aop/xml/Test.java b/grademanagement-SpringProject/src/com/ssm/aop/xml/Test.java new file mode 100644 index 0000000..e479aef --- /dev/null +++ b/grademanagement-SpringProject/src/com/ssm/aop/xml/Test.java @@ -0,0 +1,17 @@ +package com.ssm.aop.xml; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class Test { + public static void main(String[] args) { + // 加载Spring配置文件 + ApplicationContext ac = new ClassPathXmlApplicationContext("bean-aop-xml.xml"); + + // 获取Student的Bean实例 + Student student = (Student) ac.getBean("student"); + + // 调用打印方法(AOP会自动切入前置通知) + student.printInfo(); + } +} \ No newline at end of file diff --git a/grademanagement-SpringProject/src/libs/com.springsource.org.aopalliance-1.0.0.jar b/grademanagement-SpringProject/src/libs/com.springsource.org.aopalliance-1.0.0.jar new file mode 100644 index 0000000..3c5cf8b Binary files /dev/null and b/grademanagement-SpringProject/src/libs/com.springsource.org.aopalliance-1.0.0.jar differ diff --git a/grademanagement-SpringProject/src/libs/com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar b/grademanagement-SpringProject/src/libs/com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar new file mode 100644 index 0000000..7bbb83a Binary files /dev/null and b/grademanagement-SpringProject/src/libs/com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar differ diff --git a/out/production/grademanagement-SpringProject/com/ssm/di/Student.class b/out/production/grademanagement-SpringProject/com/ssm/di/Student.class deleted file mode 100644 index 86cd12d..0000000 Binary files a/out/production/grademanagement-SpringProject/com/ssm/di/Student.class and /dev/null differ