- AOP是软件实际领域中的面向切面编程,是一种编程思想。它是面向对象编程的一种补充和完善。我们一般把面向对象理解为一个静态的过程(要分析系统有哪些模块,一个模块有哪些对象,对象有哪些属性),面向切面就是一个动态过程(在对象运行过程中如何切入一些扩展功能)。
- AOP应用场景:日志处理、权限控制、事务控制。
- 通知的执行顺序:@Around,@Before,@Around,@After,@AfterReturning。
- AOP代理机制:JDK动态代理、CGlib的动态代理。
- JDK动态代理:针对实现了接口的类产生代理(没有实现接口的类难以应用)。
- CGlib的动态代理:针对没有实现接口的类产生代理,应用的是底层的字节码增强技术,生成当前类的子类对象。