欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Spring10——Spring重要组件,

来源: javaer 分享于  点击 21586 次 点评:101

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") {});

  

相关文章

    暂无相关文章
相关栏目:

用户点评