AOP
2016-06-14 21:16
239 查看
Spring AOP织入
区别:
AspectJ编译器织入目标对象
动态代理和字节码生成都是在运行期间为目标对象生成代理对象。
系统真正使用的是什么?
代理对象而不是目标对象。
代理分类:
静态代理,动态代理;
动态代理实现的两个关键类:
java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler;
InvocationHandler什么时候被调用?
当Proxy动态生成的代理对象上相应的接口方法被调用时,对应的InvocationHandler就会拦截相应的方法调用。
动态代理的缺点:
目标类必须实现接口;还好spring有cglib作为备胎!
区别:
AspectJ编译器织入目标对象
动态代理和字节码生成都是在运行期间为目标对象生成代理对象。
系统真正使用的是什么?
代理对象而不是目标对象。
代理分类:
静态代理,动态代理;
动态代理实现的两个关键类:
java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler;
InvocationHandler什么时候被调用?
当Proxy动态生成的代理对象上相应的接口方法被调用时,对应的InvocationHandler就会拦截相应的方法调用。
动态代理的缺点:
目标类必须实现接口;还好spring有cglib作为备胎!
相关文章推荐
- hadoop cluster分布式安装
- nginx负载均衡集群
- Nginx 常用全局变量 及Rewrite规则详解
- linux截取字符串的多种方法
- linux系统和用户环境变量的配置文件
- DCOS实践分享(5):Open DCOS深入分析
- Linux下安装svn
- DCOS实践分享(3):基于Mesos 和 Docker企业级移动应用实践分享
- DCOS实践分享(2):基于Docker Compose和Swarm的Docker化之路
- Linux Char-Driver (字符驱动 摘要)(一)
- linux下环境变量PS1设置
- Hadoop源码分析(3): Hadoop的运行痕迹
- hadoop源码分析(2):Map-Reduce的过程解析
- Tomcat的测试页打开空白页的解决方法
- Hadoop源码分析(1):HDFS读写过程解析
- Photoshop详细讲解制作最逼真的公章章印教程
- windows浏览器访问linux下hadoop文件块
- linux下挂载windows目录
- linux 安装nginx(亲测)
- linux下apache启动问题(dummy-host.example.com does not exist, Could not..127.0.0.1 for ServerName)