1 Aop 简介
面向切面编程,是面向对象编程的补充,在程序运行时,动态地将代码切入到类的指定方法,指定位置上的编程思想。例如转账功能,在转账代码前后需要一些非业务方面的处理,权限控制,记录日志等,这些代码就可以使用AOP将其切入到转账业务逻辑代码的前后,很好地分离业务代码和非业务代码。Aop 的有点就是降低代码耦合,提高代码的复用性。
2 AOP实现
基于xml实现AOP的方式
添加依赖
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.0.4.RELEASE</version>
</dependency>
业务逻辑代码
public class UserServiceImpl implements UserService {
@Override
public void addUser() {
System.out.println("执行service中的addUser方法");
}
@Override
public void selectUser() {
System.out.println("执行service中的selectUser方法");
}
@Override
public void selectUserById(int id) throws Exception{
System.out.println("执行service中的selectUserById方法");
if (id ==