当前位置: 首页 > news >正文

做阿里巴巴1688网站程序seo公司培训课程

做阿里巴巴1688网站程序,seo公司培训课程,深圳十大传媒公司,如何选择网站开发前言: 上一篇我们分析了 Spring Boot 事件监听的原理,本篇我们来自定义实现自己的监听器。 Spring Boot 系列文章传送门 Spring Boot 启动流程源码分析(2) Spring Boot 启动流程源码分析(2) Spring Bo…

前言:

上一篇我们分析了 Spring Boot 事件监听的原理,本篇我们来自定义实现自己的监听器。

Spring Boot 系列文章传送门

Spring Boot 启动流程源码分析(2)

Spring Boot 启动流程源码分析(2)

Spring Boot 自动配置实现原理(源码分析)

Spring Boot 自定义 starter 启动器

Spring Boot 事件监听机制工作原理

Spring Boot 自定义监听器

创建 Spring Boot 自定义监听器通常要经过一下步骤

  1. 定义事件。
  2. 定义事件监听器。
  3. 定义事件发布器。
  4. 触发事件,完成验证。

定义事件

定义 Event 事件,MyEvent 继承了 ApplicationEvent 类,如果我们要使用 Spring 的事件监听机制,那我们定义的 Event 事件必须继承ApplicationEvent ,否则就无法使用。

public class MyEvent extends ApplicationEvent {private final String event;public MyEvent(Object source, String event) {super(source);this.event = event;}public String getEvent() {return event;}}

定义事件监听器

事件监听器实现了 ApplicationLister 接口,泛型为 ApplicationEvent,因为要监听事件,所以必须按照 Spring 的规则来,onApplicationEvent 方法就是监听到的事件,在这里可以完成业务逻辑处理,因为事件监听器需要加入Spring IOC 容器中才能生效,因此 MyListener 使用了 @Component 注解。

@Slf4j
@Component
public class MyListener implements ApplicationListener<MyEvent> {@Overridepublic void onApplicationEvent(MyEvent myEvent) {//监听器调用事件方法String event = myEvent.getEvent();log.info("event:{}",event);}
}

定义事件发布器

Sprin Boot 监听器要生效,必须要有一个时间发布器,自定了一个事件发布器,注入了 ApplicationEventPublisher,使用 ApplicationEventPublisher#publishEvent 方法完成事件发布。

@Component
public class MyPublisher {@Resourceprivate ApplicationEventPublisher applicationEventPublisher;public void publish(){applicationEventPublisher.publishEvent(new MyEvent(new MyListener(),"publish event  test"));}
}

触发事件,完成验证

我们这里直接使用 Spring Boot 启动类来完成事件发布测试,如下:

@SpringBootApplication
public class MyStudySpringBootApplication {public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(MyStudySpringBootApplication.class, args);MyPublisher publisher = context.getBean(MyPublisher.class);publisher.publish();}}

测试结果:

2024-06-30 21:35:42.926  INFO 29928 --- [main] com.my.study.start.listener.MyListener   : event:publish event  test

结果符合预期,这样我们就完成了一个简单的自定义事件监听,一般来说,我们在项目开发中是使用不到事件监听机制的,但是源码中大量使用了监听机制,因为我们还是需要了解监听器是怎样实现的。

自定义监听器的注解实现方式

使用 @EventListener 注解,代码如下:

@Slf4j
@Component
public class MyAnnotationListener {@EventListenerpublic void handleCustomEvent(MyEvent myEvent) {//监听器调用事件方法String event = myEvent.getEvent();log.info("event2:{}", event);}}

欢迎提出建议及对错误的地方指出纠正。

http://www.fp688.cn/news/156686.html

相关文章:

  • 范例网站怎么做雅虎搜索引擎首页
  • 公众号开发者密码怎么获得免费培训seo
  • 云南微网站搭建百度网盘网页版登录入口官网
  • 网站建设口号国际新闻今日头条
  • 网页界面设计风格多样化研究怎么优化自己网站的关键词
  • 网站制作 深圳有什么公司营销战略包括哪些方面
  • 怎么和其它网站做友情链接免费推广产品的平台
  • h5简单网页代码企业网站优化方案案例
  • 石家庄展厅设计公司快手seo关键词优化
  • 易语言做网站登陆微信指数怎么看
  • 金山网站建设推广西安百度推广公司
  • 做网站主要步骤建网站怎么建
  • 价格低的宣传语福州搜索引擎优化公司
  • amazon国外网站任务放单平台
  • 测试wordpress响应速度seo搜论坛
  • 怎样做艾条艾柱网站兰州网络推广优化怎样
  • 专业网站制作服务灰色词优化培训
  • 什么身一什么网站建设网络营销的概念是什么
  • 福州 网站开发公司seo综合查询工具有什么功能
  • 电商网站在线支付怎么做技能培训有哪些
  • 济宁市建设局网站手机免费发布信息平台
  • 东阿聊城做网站的公司西安计算机培训机构哪个最好
  • 平面在线设计网站seo分析报告
  • 音乐盒的网站怎么做全网引流推广
  • 做网站必须有站点吗seo全称是什么
  • 家具品牌网站湖北网站seo设计
  • 0基础做网站网络营销方案策划案例
  • 整站seo策略实施百度识图网页版 在线
  • wordpress mail配置百度搜索引擎关键词优化
  • 建网站做日租房什么文案容易上热门