最近在学习Spring框架,这里记录下对aop的理解
aspect oriented programming:面向切面编程
首先3个概念:
- 目标类:真正去实现最核心的功能的类:
- 切面类:个人认为是对目标类实现核心功能进行相应的补充,但这些补充是有共性的
- 代理类:代理类,将切面类和目录类进行整合,weaving(织入),整合后,代理类的方法(方法名和目标类中的方法相同)是整合了切面类和目标类,完成了切面类对目标类的修饰。
代理类实现有两种方法:jdk动态代理(目标类需要接口和实现类)、cglib(目标类不需要接口,只要有实现类就可以了)
(后续更新)