最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

TS 從入門到深度掌握,晉級TypeScript高手-結廬在人境,而無車馬喧

2023-03-19 21:35 作者:bili_68802470155  | 我要投稿


深化了解Spring的事情通知機制

TS 從入門到深度掌握,晉級TypeScript高手

download:https://www.51xuebc.com/thread-541-1-1.html

事情通知機制的原理
?? Spring的事情通知機制是基于察看者形式完成的,主要分為三個中心元素:事情、監(jiān)聽器和事情發(fā)布器。

事情(ApplicationEvent)
?? Spring的事情是盤繞ApplicationEvent類完成的,該類繼承了JDK提供的EventObject籠統(tǒng)類,能夠用來表示事情的數(shù)據(jù)。在Spring中,假如要自定義事情,只需求繼承ApplicationEvent類即可,并在子類中添加自定義的屬性或辦法。例如,能夠定義一個MyEvent類來表示自定義事情,它可能包含一些用于處置的數(shù)據(jù)。
監(jiān)聽器(ApplicationListener)
?? 在Spring中,能夠經過完成ApplicationListener接口來定義事情監(jiān)聽器,ApplicationListener接口只定義了一個辦法onApplicationEvent,該辦法會在某個事情發(fā)作時被調用,能夠在其中處置事情內容。除此之外,Spring還提供了一個更煩瑣的辦法,就是運用@EventListener注解,只需求在完成辦法上加上該注解即可。
事情發(fā)布器(ApplicationContext)
?? Spring容器是事情的發(fā)布者,是指在ApplicationContext中,假如某個事情發(fā)作了,容器會自動調用對應的監(jiān)聽器。詳細完成是經過一個事情播送器完成的。其中心是運用了Spring的事情發(fā)布機制ApplicationEventMulticaster類,它擔任維護一切的監(jiān)聽器,并經過事情播送器將事情通知到一切的監(jiān)聽器中。
?? 在ApplicationContext啟動時,會自動創(chuàng)立該類的實例,并注冊到容器中作為一個單例bean,在容器關閉時銷毀??偟膩碚f,Spring事情通知機制經過定義事情、監(jiān)聽器和事情發(fā)布器來完成松耦合的通訊,降低了組件之間的依賴性,使得應用程序愈加靈敏。


事情通知機制的運用辦法
?? Spring事情的運用辦法十分簡單,能夠經過下列三個步驟來完成:

定義事情類:開發(fā)人員能夠自定義事情對象,繼承Spring的ApplicationEvent類,完成事情的結構和處置邏輯。
定義事情監(jiān)聽器:開發(fā)人員能夠經過完成ApplicationListener接口,并在對應類中定義onApplicationEvent辦法處置接納的事情,完成事情監(jiān)聽器的功用。
注冊監(jiān)聽器:開發(fā)人員能夠經過在配置文件中配置或運用@EventListener注解的方式向Spring容器注冊事情監(jiān)聽器,以便Spring管理監(jiān)聽器的生命周期以及自動進運用。
以下是一個簡單的 Spring 事情通知機制的代碼示例:


首先定義事情類 MyEvent.java:

import org.springframework.context.ApplicationEvent;
public class MyEvent extends ApplicationEvent {
private String message;
public MyEvent(Object source, String message) {
super(source);
this.message = message;
}
public String getMessage() {
return message;
}
}
定義事情監(jiān)聽器 MyListener.java:

import org.springframework.context.ApplicationListener;
@Component
public class MyListener implements ApplicationListener {
@Override
public void onApplicationEvent(MyEvent myEvent) {
System.out.println("Received MyEvent: " + myEvent.getMessage());
}
}
定義事情發(fā)布類 MyPublisher.java:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component;
@Component
public class MyPublisher {
@Autowired
private ApplicationEventPublisher publisher;
public void publish() {
MyEvent event = new MyEvent(this, "Hello, world!");
publisher.publishEvent(event);
}
}
?? 當Spring運轉后,在任何中央調用myPublisher.publish(),將輸出 "Received MyEvent: Hello, world!",表示自定義事情已勝利被監(jiān)聽器接納。

總結
?? Spring的事情通知機制是一種靈敏便當?shù)慕M件通訊方式,在不同的業(yè)務場景中都有普遍的應用。經過本文的引見,我們能夠理解到Spring事情通知機制的原理、運用辦法和代碼示例,以及將其與其他Spring組件集成的一些技巧。希望這篇文章可以協(xié)助大家更深化天文解Spring框架。

TS 從入門到深度掌握,晉級TypeScript高手-結廬在人境,而無車馬喧的評論 (共 條)

分享到微博請遵守國家法律
肃北| 大余县| 柘荣县| 洛阳市| 平原县| 台前县| 和硕县| 尤溪县| 宜都市| 奉贤区| 西青区| 隆林| 昌邑市| 闽清县| 宿迁市| 通海县| 巴楚县| 安义县| 南开区| 乐陵市| 玉山县| 明溪县| 宜兰市| 林芝县| SHOW| 德江县| 巢湖市| 九龙城区| 德庆县| 建德市| 庆城县| 临邑县| 彭阳县| 漯河市| 上蔡县| 康保县| 文登市| 华阴市| 盖州市| 登封市| 繁昌县|