一. AOP 概述:
- AOP(Aspect Oriented Programming 面向切面编程) : AOP 是对面向对象编程的一个补充, 在运行时,动态的将代码切入到类的指定方法,指定位置上的编程思想就是面向切面编程。将不同方法的同一位置抽象成一个切面对象,对该切面对象进行编程就是 AOP 。
- 优点:1>. 降低模块之间的耦合度
2>. 使系统容易扩展
3>. 更好的代码复用
4>. 非业务代码更加集中, 不分散,便于统一管理
5>. 业务代码更简洁纯粹,没有其他代码的影响
6>. 将复杂的需求分解除不同的方面,将散布在系统中的公共功能集中解决
如何使用
- 创建Maven ,pom.xml 添加(如果还未下载 Maven 相关配置:请跳转至: Spring IoC 全套资源!!,里面含有Maven框架的下载以及配置)
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>6.0.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>6.1.11</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.0.12</version>
</dependency>
</dependencies>
- 创建一个计算器接口 Cal,定义四个方法:
public interface Cal {
public int add(int num1, int num2);
public int sub(int num1, int num2);
public int mul(int num1, int num2);
public int div(int num1, int num2);
}
- 创建接口的实现类:
public class Calimpl implements Cal {
@Override
public int add(int num1, int num2) {
System.out.println("add 方法的参数是[" + num1 + ", " + num2 + "]");
int res = num1 + num2;
System