除了constructor-arg和property装配bean的方式,我们还可以通过bean的factory-method方法装配bean,factory-bean + factory-method表示的是工厂方法,主要用于装配工厂模式中的静态方法,从而创建一个实例。
实例:使用ClassFactory类创建一个Class类
通过MethodInvokingFactory Bean类,可注入方法返回值。 MethodInvokingFactoryBean用来获得某个方法的返回值,该方法既可以是静态方法,也可以是实例方法。该方法的返回值可以注入bean实例属性,也可以直接定义成bean实例。
org.springframework.beans.factory.support.DefaultListableBeanFactory.registerBeanDefinition(String, BeanDefinition)
CTRL+SHIFT+G
org.springframework.context.support.AbstractApplicationContext.refresh()
// Instantiate all remaining (non-lazy-init) singletons.
finishBeanFactoryInitialization(beanFactory);
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(String, Object, RootBeanDefinition)