Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 1.4 KB

File metadata and controls

32 lines (26 loc) · 1.4 KB

19.BeanDefinitionRegistryPostProcessor

/**
 * @program SpringBooks
 * @description: MyBeanDefinitionRegistryPostProcessor
 * @author: mf
 * @create: 2020/02/02 23:18
 */

package org.example.ext;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
import org.springframework.stereotype.Component;

@Component
public class MyBeanDefinitionRegistryPostProcessor implements BeanDefinitionRegistryPostProcessor {
    public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException {
        System.out.println("MyBeanDefinitionRegistryPostProcessor...bean的数量:"+beanDefinitionRegistry.getBeanDefinitionCount());
    }

    //BeanDefinitionRegistry Bean定义信息的保存中心,以后BeanFactory就是按照BeanDefinitionRegistry里面保存的每一个bean定义信息创建bean实例;
    public void postProcessBeanFactory(ConfigurableListableBeanFactory configurableListableBeanFactory) throws BeansException {
        System.out.println("postProcessBeanDefinitionRegistry...bean的数量:"+configurableListableBeanFactory.getBeanDefinitionCount());
        // 自己也可以在这里添加额外的bean
    }
}