An {@code EventListenerResolver} knows how to resolve (either create or lookup) {@link EventListener} instances as a result of inspecting a subscriber object, mostly likely a {@link hunt.shiro.event.Subscribe Subscribe}-annotated object instance. <p/> This interface exists primarily as a support concept for the {@link DefaultEventBus} implementation. Custom implementations of this interface can be configured on a {@link DefaultEventBus} instance to determine exactly how a subscriber receives events. <p/> For example, the {@link AnnotationEventListenerResolver AnnotationEventListenerResolver} will inspect a runtime object for {@link hunt.shiro.event.Subscribe Subscribe}-annotated methods, and for each method found, return an {@link EventListener} instance representing the method to invoke.