今天大致复习了下AOP,赶紧记下来要点,以后看下自己就记住了。
1.什么是AOP?
概念太生涩难懂,直接画个图。
简单粗暴,就是你的业务逻辑正在执行,咔嚓,你要给多个业务逻辑添加共同的处理逻辑,把这个面横切出来。
2.应用?
权限检查,日志记录,性能分析,审计,事务管理,凡是可以加入切面的分布在各个方法里面的代码可以组织到一起的都可以用AOP面向切面编程。
3.怎么实现?
对于实现了接口的,Proxy+invocationHandler实现,proxy的newInstance方法可以传参数,具体实现是通过动态编译和反射机制,产生一个实现了对应接口的代理Proxy,然后去执行。
对于没有实现接口的,可以使用CGLib和javassist来直接操作二进制码来实现
4.怎么用?
声明式事务管理,分为Annotation和xml两种方式
嗯大概就是粗略说一下,当然细节还有很多,在笔记本上,就当是一个复习思路记录吧。