标签:ons can RoCE determine actor 代理 方式 ann classType
出现场景:
注解在属性上和@Autowired一起
构造器中参数前面
其他情况不讨论,只讨论这两种,按照之前关于自动注入博客,为属性和构造器参数赋值,用的是AutowiredAnnotationBeanPostProcessor的determineCandidateConstructors和postProcessPropertyValues方法,根据classType找到工厂中所有符合条件的beanName,
根据beanDefinition确定哪一个bean,实例化调用的是this.beanFactory.resolveDependency,在doResolveDependency之前,会进行多个lazy方式的处理,有Optional、ObjectFactory、ObjectProvider、Provider以及@lazy注解。
顺便提一句其中Provider类型在ribbon注入Eureka的serverList用得到
处理lazy注解是看descriptor中调用这个bean的方法(构造器方法或者set方法)有没有lazy注解,有的话,生成一个动态代理,在真正用的时候再调用doResolveDependency方法(这么麻烦的吗?)
标签:ons can RoCE determine actor 代理 方式 ann classType
原文地址:https://www.cnblogs.com/chuliang/p/11548602.html