The ApplicationContext event mechanism in spring is simple, container event: applicationevent, Listener: Applicationlistener, triggers the method in the listener when the event occurs.
See an example:
Package applicationcontextevent;
Import org.springframework.context.ApplicationEvent;
Import Org.springframework.context.ApplicationListener;
Import org.springframework.context.event.ContextRefreshedEvent;
public class MyListener implements Applicationlistener {
public void Onapplicationevent (Applicationevent arg0) {
if (arg0 instanceof contextrefreshedevent)//contextrefreshedevent represents initializing a container or refreshing a container event
{
System.out.println ("-------------");
}
}
}
Then configure the event listener in the XML:
<bean id= "MyListener" class= "Applicationcontextevent.mylistener" >
</bean>
When we call new Classpathapplicationcontext (...). ), the event is triggered
The above contextrefershedevent is automatically triggered, if we want to define an event of our own (not applicationcontext built-in), we need to manually pass the ApplicationContext pulishevent (event source) to trigger an event
ApplicationContext time mechanism