spring-beans | org.springframework.beans.factory.support.AbstractBeanFactory#getBean

    如果没有传递参数,那么后面 bean 实例化的时候需要推断相关构造函数及参数。

    1. @Override
    2. public Object getBean(String name) throws BeansException {
    3. return doGetBean(name, null, null, false);
    4. }

    如果传递了参数,这个参数通常作为构造函数或者工厂方法的参数,用于实例化对象。就不需要推断构造函数和参数了。

    1. @Override
    2. public Object getBean(String name, Object... args) throws BeansException {
    3. return doGetBean(name, null, args, false);
    4. }

    这个参数涉及到:4. 推断构造函数创建对象