@RefreshScope原理概述

使用@RefreshScope注解的类会生成一个单例代理Bean-A(BeanName),并持有一个单例缓存Bean-B(scopedTarget.BeanName),该缓存若被清掉会通过对象工厂重新创建一个单例
通过Class得到、@Autowired注入、通过名为beanName的得到的都是Bean-A,使用的是Bean-A持有的Bean-B
通过名为scopedTarget.beanName的得到的是Bean-B
动态刷新后,Bean-A没有变化(不影响依赖Bean的属性中自动注入的Bean-A),Bean-B被清除后,下次通过Bean-A获取其持有的Bean-B时就会重新生成
posted @ 2024-01-29 10:04  忙碌了一整天的L师傅  阅读(76)  评论(0编辑  收藏  举报