JAvaのjdkダイナミックエージェントとcglibダイナミックエージェントの違い

971 ワード

java                         ,          InvokeHandler   。 cglib       asm   ,       class      ,        
1、 , JDK AOP
2、 , CGLIB AOP
3、 , CGLIB ,spring JDK CGLIB

Spring aopはエージェントによって実現され,エージェントには静的エージェント,jdk動的エージェント,cglib動的エージェントがある.静的エージェントには、ターゲットクラスごとにエージェントクラスを作成する必要があるという弊害があり、エージェントを必要とするオブジェクトが多い場合は、対応するエージェントクラスを記述しなければならないため、jdk動的エージェントが現れ、主にjavaが使用される.lang.reflect.Proxyクラスとjava.lang.reflect.InvocationHandlerインタフェース.