其他分享
首页 > 其他分享> > Spring10——Spring重要组件

Spring10——Spring重要组件

作者:互联网

Spring重要组件 接口BeanPostProcessor:         拦截所有容器中的bean,并且可以对bean进行初始化、销毁操作。

 

BeanFactoryPostProcessor:         拦截容器。
//拦截整个容器
@Component
public class MyBeanFactory implements BeanFactoryPostProcessor{
    @Override
    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
        //beanFactory.getBeanDefinition(""); //根据bean的id获取bean

        int count = beanFactory.getBeanDefinitionCount();
        System.out.println("容器中bean的个数:"+count);

        String[] names = beanFactory.getBeanDefinitionNames();
        System.out.println("容器中所有bean的名字:"+ Arrays.asList(names));
    }
}

  

BeanDefinitionRegistryPostProcessor:         即将被加载之前(解析之前,称为BeanDefination对象之前)   监听器:可以监听事件,监听的对象必须是ApplicationEvent自身或子类或子接口。 方式一:         1.必须实现接口ApplicationListener;         2.可以监听事件,监听的对象必须是ApplicationEvent自身或子类或子接口;         3.要让Spring识别自己,必须加入IOC容器。 方式二:         注解形式。
@Component
public class MyListener2 {
    //监听方法
    @EventListener(classes = ApplicationEvent.class)
    public void myListenerMethod(ApplicationEvent event){
        System.out.println("cccccc"+event);
    }
}

  

自定义被监听事件:         1.自定义类实现ApplicationEvent接口(自定义事件);         2.发布事件。
context.publishEvent(new ApplicationEvent("myEvent") {});

  

标签:容器,beanFactory,Spring,Spring10,ApplicationEvent,public,bean,组件,监听
来源: https://www.cnblogs.com/ghlz/p/13203734.html