
AOP
文章平均质量分 60
Spring AOP
developer@liyong
GISer
展开
-
Exception in thread “main“ java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to问题记录
让我们来看一下源码,当我们的类继续了接口会默认使用JDK动态代理,这个时候我们用子类类接收对象就会产生这个强转错误。那如果我就想用上面的写法怎么办呢?其实也是有办法的我们使用CGLIB的代理就好了,因为CGLIB的代理是基于类继承的,所以不会有上面的问题。当我们执行main函数的时候,会出现异常。原创 2025-03-12 21:39:26 · 269 阅读 · 0 评论 -
AOP-代理实现
如果目标对象是一个具体的类,并且没有实现任何接口,那么就无法直接使用Java动态代理。在这种情况下,需要使用其他技术,如CGLIB,它可以为目标类创建子类来实现动态代理。方法重写:对于每个接口的方法,代理类都会生成一个方法实现,这些方法内部会调用 InvocationHandler.invoke 方法。方法调用:当代理对象的方法被调用时,实际上会调用 InvocationHandler.invoke 方法,从而实现方法的拦截和增强。类定义:生成一个新的类,这个类实现了传入的所有接口。原创 2024-09-26 15:57:08 · 561 阅读 · 0 评论 -
AOP-前置原理-怎么判断和拦截?
【代码】AOP-前置原理-怎么判断和拦截?原创 2024-09-20 23:37:52 · 385 阅读 · 0 评论 -
AOP-基础概念
AOP 的概念Aspect-Oriented Programming (AOP):面向切面编程,是一种编程范式,用于分离横切关注点(cross-cutting concerns),即将那些分散在多个模块中的公共行为(如日志记录、事务管理、安全控制等)集中管理和实现。AspectJ 的定义AspectJ 是一种流行的 AOP 框架,它扩展了 Java 语言,提供了专门的语法来定义切面(aspect)。AspectJ 可以在编译时或运行时对程序进行切面的编织(weaving)。原创 2024-09-20 15:56:43 · 484 阅读 · 0 评论 -
为什么需要AOP?AOP可以做什么?
AOP基础原创 2024-09-20 15:39:09 · 485 阅读 · 0 评论