jdk动态代理与cglib优势劣势以及jdk动态代理为什么要interface (二)自研细节
1
cglib支持非private子函数切面,jdk动态代理不支持
2
cglib与jdk对未覆盖Object类的方法,缺省情况下切的不一样
可以被切的隐藏方法(在java object常用方法罗列的方法),即时origin不改写这些方法,框架也会加上
object:clone finalize equals toString hashCode getClass wait notify notifyAll
jdk: equals toString hashcode
cglib:clone finalize equals toString hashCode
3
jdk 接口 public
cglib public and protected java 的三种代理模式 (二)——子函数切面
4 注解继承
jdk 跟着接口 myorm【重点】 $$28
cglib 生成子类时,不为原方法保留注解,但是传入invoke的Method为原方法非代理类方法 当动态代理遇到ioc (二)cglib,可以从这个Method对象获取注解
5 包冲突
当动态代理遇到ioc (二)cglib cglib容易包冲突不可控
jdk 动态代理不需要引入额外的包