
spring
qq_33987908
这个作者很懒,什么都没留下…
展开
-
Spring AOP如何获取proxy所代理的原生对象
要注意的是AopProxyUtils的getSingletonTarget方法只能获取SingletonTargetSource类型的TargetSource的target,用@Aspect生成的Advisor的TargetSource的类型就是SingletonTargetSource,若是通过其它方式生成的Advisor,且使用的TargetSource不是SingletonTargetSource的话,就获取不到了。可以把proxy转Advised后获取被代理bean的这段逻辑封装到工具类当中。原创 2023-09-19 03:58:33 · 1198 阅读 · 0 评论 -
Spring AOP的Introduction的使用方法
Introduction和Before, After, Around等一样,都是Spring AOP的一种Advice类型。和Before, After, Around等类型的Advice不同的是,Introduction不是横切在Joinpoint处来新增advice逻辑的,而是为原有对象添加新的特性或者行为。我们可以看看具体的使用方法就明白了。原创 2023-09-19 03:56:26 · 98 阅读 · 0 评论 -
Spring事件通知机制介绍及使用方法
ApplicationContext内部使用了ApplicationEventMulticaster类,该类负责维护所有的Listener,并通过事件广播其将事件通知到对应的Listener中。Spring事件通知机制相当于Spring内部提供的一个松耦合的通信框架,可以解耦组件之间的通讯,基于观察者模式实现。1、 事件:表示一个事件,如果要自定义Spring的事件,只需继承ApplicationEvent抽象类即可。1、 自定义事件类:直接继承ApplicationEvent,实现事件的构造和处理逻辑。原创 2023-09-19 03:53:04 · 181 阅读 · 0 评论 -
什么是循环依赖
从一个类开始,依赖线路能回到该类,从而形成了一个依赖闭环,这就是循环依赖。 如A, B两个类形成的循环依赖: 相关代码: public class Test { public static void main(String[] args) { A a = new A(); } } class A { private A a = new A(); } class B { private A a = new A(); } 执行结果会抛出StackOverflowError 一个类也能形原创 2021-11-28 16:07:33 · 425 阅读 · 0 评论