文章:Spring核心之面向切面编程(AOP)
- AOP面向切面编程是一个功能
- Spring AOP和AspectJ都实现了AOP功能,AspectJ是AOP功能的最好的实现
- Spring AOP更易用,AspectJ更强大(AspectJ可以做Spring AOP干不了的事情,它是AOP编程的完全解决方案,Spring AOP则致力于解决企业级开发中最普遍的AOP(方法织入))
- Spring AOP的实现方式是动态织入,动态织入的方式是在运行时动态将要增强的代码织入到目标类中,这样往往是通过动态代理技术完成的
- 如果是在接口实现类中使用AOP,就使用动态代理(底层通过反射实现)
- 非接口使用AOP,就使用CGLIB代理
- AspectJ实现织入有两种方式
- 动态织入:程序运行时织入
- 静态织入:代码编译时织入



