动态代理、CGLIB 与 切面编程

来自Wikioe
Eijux讨论 | 贡献2020年10月29日 (四) 01:04的版本
跳到导航 跳到搜索


关于代理

代理,简单说就是:不直接操作对象,而使用代理对象来完成操作;

  • 通过代理对象,可以对原对象进行方法扩展;


代理又可以分为

  1. 静态代理:通过聚合、继承的方式生成代理对象;
    • 代理关系在编译时就确定了
  2. 动态代理:
    • 运行期动态生成代理对象;
    1. Java动态代理:(针对实现了接口的类)
    2. CGLIB:(针对没有实现接口的类)
    3. AspectJ:(springframework的aop基于此实现)

Java动态代理

AspectJ

CGLIB