一、创建一个meven webApp工程,并在pox.xml中导入依赖
4.0.0 string02 string021.0-SNAPSHOT war string02 Maven Webapp http://www.example.com UTF-8 1.7 1.7 5.1.6.RELEASE org.springframework spring-webmvc5.3.14 org.projectlombok lombokRELEASE compile org.springframework spring-core5.3.16 org.springframework spring-aop5.3.16 aopalliance aopalliance1.0 org.springframework spring-webmvc5.2.0.RELEASE commons-logging commons-logging1.2 org.aspectj aspectjweaver1.9.4
二、创建目标接口和实现类
UserDao:
package com.hxic.aop;
public interface UserDao {
public void addUser();
public void deleteUser();
}
UserDaoImpl:
package com.hxic.aop;
public class UserDaoImpl implements UserDao {
@Override
public void addUser() {
//int i = 10 / 0;
System.out.println("添加用户");
}
@Override
public void deleteUser() {
System.out.println("====用户管理模块:删除用户====");
}
}
ScoreDao:
package com.hxic.aop;
public interface ScoreDao {
public void addScore();
public void deleteScore();
}
ScoreDaoImpl:
package com.hxic.aop;
public class ScoreDaoImpl implements ScoreDao {
@Override
public void addScore() {
System.out.println("添加成绩");
}
@Override
public void deleteScore() {
System.out.println("====成绩管理模块:删除成绩====");
}
}
StudentDao:
package com.hxic.aop;
public interface StudentDao {
public void addStudent();
public void deleteStudent();
}
StudentDaoImpl:
package com.hxic.aop;
public class StudentDaoImpl implements StudentDao {
@Override
public void addStudent() {
//int i = 10 / 0;
System.out.println("添加学生信息");
}
@Override
public void deleteStudent() {
System.out.println("====学生管理模块:删除学生信息====");
}
}
三、创建切面类,
package com.springmvc.aop.xml.bean;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
public class MyAspect implements MethodInterceptor {
@Override
public Object invoke(MethodInvocation mi) throws Throwable {
//执行目标方法
Object obj = mi.proceed();
log();
return obj;
}
public void log(){
System.out.println("记录日志......");
}
}
四、更改spring配置文件
五、编写测试类进行测试
package springmvc.aop.bean;
import com.hxic.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userService = context.getBean("userService", UserService.class);
userService.add();
}
}
测试成功:



