ApplicationContext时间机制

Spring中ApplicationContext中事件机制比较简单,容器事件:ApplicationEvent ,监听器:ApplicationListener,当事件发生时,触发监听器中方法。

看一个实例:

package applicationContextEvent;

import org.springframework.context.ApplicationEvent;

import org.springframework.context.ApplicationListener;

import org.springframework.context.event.ContextRefreshedEvent;

public class MyListener implements ApplicationListener {

public void onApplicationEvent(ApplicationEvent arg0) {

if(arg0 instanceof ContextRefreshedEvent)//ContextRefreshedEvent表示初始化容器或刷新容器事件

{

System.out.println("-------------");

}

}

}

然后在xml中配置事件监听器:

<bean id="myListener" class="applicationContextEvent.MyListener">

</bean>

当我们调用new ClassPathapplicationContext(....)时,就会触发该事件

以上的ContextRefershedEvent是自动触发,如果我们想定义一个自己的事件(不是applicationContext内置的),我们就需要手动的通过ApplicationContext的pulishEvent(事件源)  来触发事件

时间: 2024-10-21 22:10:17

ApplicationContext时间机制的相关文章

Spring中的ApplicationContext事件机制

ApplicationContext的事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListerner接口来实现. 1. 创建EmailEvent public class EmailEvent extends ApplicationEvent{ private String address; private String text; public EmailEvent(Object source) { super(source); } publi

android4.4中自动更新时间机制

名词解释: NITZ:NITZ(Network Identity and Time Zone)或网络标识和时区,是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息.NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟. NTP:NTP(Network Time Protocol)提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC. NTP获得UTC的时间来源可以是原子钟.天文台.卫星,

【好文推荐】Spring中ApplicationContext的事件机制

ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext 事件处理.如果容器中有一个ApplicationListener Bean,每当ApplicationContext发布ApplicationEvent时,ApplicationListener Bean将自动被 触发. Spring的事件框架有如下两个重要的成员: ApplicationEvent:

页面静态化补充:增加缓冲时间

由于一个页面是有可能更改的,而页面静态化结果的结果是一堆纯html文件,不可以动态更改.只能再次生成纯静态网页 所以增加缓冲时间机制,每隔一段时间根据动态网页再次静态化一次,这样既避免了访问动态文件,也能保持网页的更新 //静态文件存在而且静态文件距离上次写时间不低于300秒 if(is_file('xx.shtml')&&(time()-filetime('xx.shtml'))<300 ){ require_once('xx.shtml'); } else{ ob_start()

Android HandlerThread 消息循环机制之源代码解析

关于 HandlerThread 这个类.可能有些人眼睛一瞟,手指放在键盘上,然后就是一阵狂敲.立即就能敲出一段段华丽的代码: HandlerThread handlerThread = new HandlerThread("handlerThread"); handlerThread.start(); Handler handler = new Handler(handlerThread.getLooper()){ public void handleMessage(Message

简述HTTP协议报文首部缓存机制

http缓存原理与机制 强制缓存机制(过期时间机制):基本原理:在客户端第一次请求服务端时,服务端会将缓存规则信息添加在header中,客户端会通过这些信息判断是否能缓存.若是强制缓存,则header中会有两个字段来标记缓存失效的时间(expires或cache-control),要指出的是在HTTP1.0中,只支持expires,目前的浏览器默认都是HTTP1.1了,基本都支持cache-control.在客户端第一次请求并添加缓存后,以后每次客户端的请求响应数据都是缓存服务器提供的,不会再经

《Spring技术内幕》笔记-第二章 IoC容器的实现

简介 1,在Spring中,SpringIoC提供了一个基本的JavaBean容器,通过IoC模式管理依赖关系,并通过依赖注入和AOP切面增强了为JavaBean这样子的POJO提供事务管理,生命周期管理等功能. 2,Spring IoC的设计中,主要包含两个主要的容器系列: -1,BeanFactory系列,该序列实现了容器的基本功能. -2,ApplicationContext应用上下文. Spring IoC容器的设计 1,如下图,IoC容器的接口设计图. 2,简介 -1,从BeanFac

Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用

一.高可用的Session服务器场景简介 1.1 应用服务器的无状态特性 应用层服务器(这里一般指Web服务器)处理网站应用的业务逻辑,应用的一个最显著的特点是:应用的无状态性. PS:提到无状态特性,不得不说下Http协议.我们常常听到说,Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存与会话有关的任何信息.之所以我们在使用ASP.NET WebForm开发中会感觉不到Http的无状态特

web典型理论题整理JS部分

1.JS的两大支柱函数式编程和基于原型的面向对象编程2.什么是闭包?作用和好处是什么?与普通函数的区别?闭包:由外部定义的内部函数,有权访问另一个函数作用域中的变量.闭包的作用和好处:闭包给访问外部函数定义的内部变量创造了条件.也将关于函数的一切封闭到了函数内部,减少了全局变量.与普通函数的区别:普通函数也能曝光内部的值,但是占用的内存无法释放且函数使用的变量定义到了函数外部不便于理解和管理. 函数每次执行时都会且只会初始化其内部变量,导致了闭包与普通函数的最大区别. 每次调用普通函数时他内部都