Advertisement

基于Spring框架的推理与构造方法源代码分析

阅读量:

构建推理机制的步骤示意图

在AutowiredAnnotationBeanPostProcessor中对推理构建不同情况下的思维导图进行分析:

在Spring框架中定义的一个Bean类需要通过构造函数来创建对应的对象实例

一般情况下,一个类只有一个构造方法:

  1. 要么是无参的构造方法
  2. 要么是有参的构造方法

如果只有一个无参 的构造方法,那么实例化就只能使用这个构造方法了。

如果仅有一个有参数的构造函数存在,则在实例化过程中是否能够调用该构造函数?需要根据具体情况分别探讨:

  1. 使用AnnotationConfigApplicationContext时,默认会基于该构造方法进行实例化操作,并将获取到的Bean对象传递给该构造方法作为所需属性。
  2. 当采用ClassPathXmlApplicationContext时,默认会在XML文件中定义该类的所有属性,并通过手动指定的方式将这些属性赋值到对象中;或者配置 autowire=constructor 选项使 Spring 自动搜索 Bean 作为该类属性值。

上面是只有一个构造方法的情况,那么如果有多

全部评论 (0)

还没有任何评论哟~