您好,登錄后才能下訂單哦!
什么是ApplicationContext?
它是Spring的核心,Context我們通常解釋為上下文環(huán)境,但是理解成容器會更好些。 ApplicationContext則是應用的容器。
Spring把Bean(object)放在容器中,需要用就通過get方法取出來。
ApplicationEvent
ApplicationListener
是一個接口,里面只有一個onApplicationEvent方法。所以自己的類在實現(xiàn)該接口的時候,要實現(xiàn)該方法。
ApplicationListener的封裝類
關系
如果在上下文中部署一個實現(xiàn)了ApplicationListener接口的bean,那么每當在一個ApplicationEvent發(fā)布到 ApplicationContext時,這個bean得到通知。其實這就是標準的Oberver設計模式。
注意
要配置META-INF/spring.factories文件,并在文件中實現(xiàn)
使用
// 第一種方式 public class AiInfluxdbApplicationListener implements GenericApplicationListener { @Override public int getOrder() { return Ordered.LOWEST_PRECEDENCE; } @Override public boolean supportsEventType(ResolvableType eventType) { return ApplicationReadyEvent.class.isAssignableFrom(eventType.getRawClass()); } @Override public void onApplicationEvent(ApplicationEvent event) { System.out.print("here is ApplicationReadyEvent"); } } //第二種方式 public class ConfigApplicationListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent>, Ordered { @Override public int getOrder() { return HIGHEST_PRECEDENCE; } @Override public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { } } //META-INF/spring.factories文件定義 org.springframework.context.ApplicationListener=\ com.demotest.core.ApplicationStartListener
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。