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") {});
相關文章
相關標籤/搜索