AOP(Aspect Oriented Programming)面向切面编程
概念:一种编程范式,指导开发者如何组织程序结构
另一种编程范式:OOP(Object Oriented Programming)面对对象编程
作用:在不惊动原始设计的基础上为其进行功能增强
关于面向切面编程的一些术语:
- 切面(Aspect): 切面用于组织多个Advice,Advice放在切面中定义。
- 连接点(Joinpoint): 程序执行过程中明确的点,如方法的调用,或者异常的抛出。在Spring AOP中,连接点总是方法的调用。
- 增强处理(Advice): AOP框架在特定的切入点执行的增强处理。处理有"around"、"before"和"after"等类型
- 切入点(Pointcut): 可以插入增强处理的连接点。简而言之,当某个连接点满足指定要求时,该连接点将被添加增强处理,该连接点也就变成了切入点。
Aop入门案例思路分析
开发模式:使用注解开发
思路分析
- 导入坐标(pom.xml)
- 制作共性功能
- 定义切入点
- 绑定切入点于切面之间的关系(切面)
1. 导入Spring -Aop的坐标,只需要导入spring-context坐标即可,spring-context坐标默认有Spring-Aop,Spring-context坐标如下
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.10.RELEASE</version> </dependency>
除此之外还需要导入一个AspectJweaver的坐标,如下:
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version> </dependency>
2.制作共性功能,如下
p