AbstractBeanDefinition中的Supplier
BeanDefinition的属性 Supplier
Supplier 本质上是 lambda表达式<函数式接口>
// AbstractBeanDefinition类中的instanceSupplier属性
private Supplier<?> instanceSupplier;
利用Supplier创建实例过程
创建 supplier.class
public class SupplierObject {
public static Student create() {
Student student = new Student();
student.setStudentName("zhao");
return student;
}
}
创建 BeanFactoryPostProcessor
public class CustomSupplierBeanFactoryPostProcessor implements BeanFactoryPostProcessor {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition) beanFactory.getBeanDefinition(&#