1. 首页
  2. 编程语言
  3. Java
  4. spring源码学习之bean的初始化以及循环引用

spring源码学习之bean的初始化以及循环引用

上传者: 2021-05-25 04:50:32上传 PDF文件 1.86 MB 热度 13次

实例化方法,把bean实例化,并且包装成BeanWrapper这个方法是反射调用类中的 factoryMethod 方法。determineConstructorsFromBeanPostProcessors这个方法是 BeanPostProcessor 接口类的首次应用, 最终会掉到这就是简单的反射实例化。A、 首先是CommonAnnotationBeanPostProcessor 类, 这个类完成了@Resource 注解的属性或者方法的收集这个类还对@PostConstruct 和@PreDestory 支持1、 看缓存里面有没有 InjectionMetadata 对象2、 从类中获取所有 Field 对象, 循环 field 对象, 判断 field 有没有@Resource 注解,如果有注解封装成 ResourceElement 对象3、 从类中获取所有 Method 对象, 循环 Method 对象, 判断 Method 有没有@Resource注解, 如果有注解封装成 ResourceElement 对象4、 最终把两个 field 和 Method 封装的对象集合封装到 InjectionMetadata 对象中B、 然后是AutowiredAnnotationBeanPostProcessor 类, 对@Autowired 注解的属性和方法的收集。

用户评论