@EventListener用法
一、应用场景
- Eureka服务自动注册(tomcat启动后自动注册服务)
二、工作原理
ApplicationEvent:发布/订阅的通信媒介,应用事件。默认有上下文事件(contextClosedEvent等)
ApplicationEventPublisher:发布者;可发布ApplicationEvent
@EventListener:订阅者;监听某个事件发生后,自动调用方法
WebServerInitializedEven:自定义事件,继承ApplicationEvent;tomcat
三、用例
@EnableDiscoveryClient:注册中心服务自动注册;默认实现类之一Eureka自动注册。
@EnableEurekaClient:Eureka注册中心服务自动注册;注册流程为:
- SpringBoot初始化服务
- SpringBoot启动tomcat成功之后,发布服务器启动成功事件WebServerInitializedEvent
- EurekaAutoServiceRegistration:通过EventListener订阅事件WebServerInitializedEvent,并向Eureka注册服务。
四、SWOT分析
S | W | O | T | |
---|---|---|---|---|
@EventListener | 1、可直接在方法上注释,使用方便 | 1、较分散 | ||
实现ApplicationListener |
1、实现集中在监听类中 | |||
本文来自博客园,作者:SArtOnline,转载请注明原文链接:https://www.cnblogs.com/sartonline/p/16145978.html