利用AOP可以对业务逻辑的各个部分进行隔离,降低业务逻辑之间的耦合度。
一些经常使用到的功能:事务管理、安全管理、日志管理、持久化管理、权限管理等
概念:将通用的功能或后加的功能从业务逻辑中分离出来,单独进行编译,在需要的地方注入这些功能模块
- Aspect:这些通用的功能独立于业务逻辑,属于应用中的一个层次或阶段,叫切面。Pointcut和Advice组成切面
- Jionpoint:连接点。注入这些功能的地方。连接点可以是方法的调用,也可以是异常的抛出。
- Pointcut:切点。有时候需要在多个地方插入同样的功能,多个连接点叫切点。
- Target Object:目标对象。
- Advice:通知对新增功能的处理逻辑叫做通知
- 切点和通知组合起来使用,形成Advisor类
Advice:
- Around通知:在连接点前后分别执行要增加的功能。
- Before通知、After通知和Throws通知【异常抛出时执行增加的功能】