JAVA动态代理与AOP

 时间:2024-10-14 23:55:02

动态代理在运行期通过接口动态生成代理类,这为其带来了一定的灵活性,

工具/原料

AOP的JAR包

eclipse

1、AOP的各种实现

1、AOP就是面向切面编程,我们可以从以下几个层面来实现AOP

JAVA动态代理与AOP

3、AOP里的公民

1、Joinpoint:拦截点,如某个业务方法Pointcut:Joinpoint的表达式,表示拦截哪些方法。一个Pointcut对应多个Joi荏鱿胫协npointAdvice:要切入的逻辑Before Advice:在方法前切入After Advice:在方法后切入,抛出异常则不会切入After Returning Advice:在方法返回后切入,抛出异常则不会切入After Throwing Advice:在方法抛出异常时切入Around Advice:在方法执行前后切入,可以中断或忽略原有流程的执行公民之间的关系

JAVA动态代理与AOP

3、1.1 动态代理的演示例子演示的是在方法执行前织入一段记录日志的代码,其中Business是代理类LogInvocationHandler是记录日志的切面IBusiness、IBusiness2是代理类的接口Proxy.newProxyInstance是织入器

JAVA动态代理与AOPJAVA动态代理与AOP

6、getProxyClass(loader, interfaces)方法用于获取代理类,它主要做了三件事情:在当前类加载器的缓存里搜索是否有代理类没有则生成代理并缓存在本地JVM里查找代理类getProxyClass(loader, interfaces)方法:

JAVA动态代理与AOP

8、代理类生成过程ProxyGenerator.generateProxyClass()方法的核心代码分析:

JAVA动态代理与AOP
  • 如何用Java动态代理实现AOP
  • java 动态代理
  • java 动态代理
  • java之动态代理 Dynamic Proxy
  • java代理模式:CGLib实现的动态代理
  • 热门搜索
    0为什么不能做除数 爆米花怎么做 uniform怎么读 旻怎么读 九制陈皮的做法 苹果的做法大全 飞机杯怎么用 怎么清洗洗衣机 炖牛肉怎么做好吃又烂 怎么折星星