AOP面向切面编程相关内容
- 每个方法都可以是一个连接点
- 通知:增强
- 把共同的功能抽离出来成一个切面,需要的时候就使用该切面
- 切点配置地点,advice配置时间
- AOP切面起到一个功能增强的效果,可以有多个切面
- 前置后置说的是方法执行的时间,发生异常执行通知,最终通知不管是否发送异常都执行,环绕通知可同时执行前置和后置
- 切面=切点+时间 Jointpoint+advice
- 环绕通知可以对前置通知进行修改
- 执行顺序:前置->环绕前置->环绕->环绕后置->后置->最终
所有类都放到容器里面,不能使用new创建对象
实现AOP通过aspect:
- 首先编写目标类(计算)
- 然后实现四个通知的实现类,分别实现各自的接口,重写各自的方法
- 然后配置Ioc容器
实现AOP通过xml:
- 首先编写目标类(计算)
- 编写一个切面类,5个方法
- 在IoC容器里先配置目标实现类,再配置切面
- 配置完切面再配置切面表达式
实现AOP通过annotation注解:
- 首先编写目标类(计算)
- 编写切面类,想定义什么通知,就使用什么注解
aspectj离不开两个类:目标实现类和切面类