Spring源码解析-Bean的创建与获取

174 阅读1分钟
  • Spring的Bean实际上是缓存在CurrentHashMap对象中
  • 在创建Bean之前,首先需要将该Bean的创建标识定好,表示该Bean已经或是即将被创建,为的是增强缓存的效率
  • 根据Bean的scope属性来确定是singleton还是prototype等范围,然后创建相应的Bean对象
  • 通过Java反射来创建Bean的实例,在创建之前首先检查访问修饰符,如果不是public,则调用setAccessible(true)来突破Java的语法限制,使得可以通过如私有的构造方法来创建对象实例
  • 接下来,寻找bean的属性值,完成属性的注入
  • 将所创建出的singleton对象添加到缓存中,供下次调用