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