- 浏览: 1566029 次
文章分类
- 全部博客 (557)
- Spring 3 系列 (26)
- Spring 3 (4)
- oracle (7)
- java (6)
- css3 (1)
- andorid (11)
- IE中页面不居中 (1)
- crm (1)
- ibatis (1)
- jdbc (1)
- javacore (1)
- IT 生活 (3)
- 创业的简单感受 (1)
- web前端 (1)
- Java静态代理 (1)
- pdf (6)
- 模拟 (1)
- 数论 (1)
- ACM_POJ (2)
- C/C++求职面试必备考点 (1)
- 学习Android遇到的错误 (1)
- 嵌入式学习 (1)
- magento付费模板! (1)
- PHP (1)
- Oracle 开发 (1)
- MSSQL (1)
- javascript (6)
- 随感随想 (1)
- RobotFramework (1)
- Ajax (2)
- 数据库复习 (1)
- Java Web (1)
- Way (1)
- eclipse (1)
- 分布式 (1)
- 【ASP.NET开发】 (1)
- 搜索 (1)
- UML建模 (1)
- ANDROID (2)
- 编程技巧 (1)
- 程序员 (2)
- C语言相关 (1)
- Struts2 (1)
- 精品下载资源推荐 (1)
- CUDA (1)
- MFC (1)
- 游戏编程 (1)
- oracle数据库 (1)
- 暴力求解--哈希表 (1)
- 个人文章 (1)
- 最小生成树 (1)
- linux 基础 (1)
- Flex (1)
- Linux (1)
- UML (1)
- 云计算 (1)
- android ListView (1)
- java数据库连接池 (1)
- cxf (1)
- javas (0)
- jquery (2)
最新评论
-
lj杰:
您好,最近项目涉及这这方面的技术,能分享下源码不,小弟非常感谢 ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 -
成大大的:
Android自动化测试从入门到精通网盘地址:https:// ...
4种手机自动化测试框架介绍 -
u012944589:
[size=xx-large][size=xx-small][ ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 -
stone520520:
同求源码,这几天正想研究一下视频的相关功能mail: 1862 ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能 -
zhen8023wan:
源代码可以发给我一份吗?谢谢!qq邮箱:1796482787@ ...
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
Spring
中提供一些Aware相关de接口,BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中最常用到de匙ApplicationContextAware.实现ApplicationContextAwaredeBean,在Bean被初始后,将会被注入 ApplicationContextde实例.ApplicationContextAware提供了publishEvent()方法,实现Observer(观察者)设计模式de事件传播机,提供了针对Beande事件传播功能.通过Application.publishEvent方法,我们可以将事件通知系统内所有deApplicationListener.
Spring事件处理一般过程:
·定义Event类,继承org.springframework.context.ApplicationEvent.
·编写发布事件类Publisher,实现org.springframework.context.ApplicationContextAware接口.
·覆盖方法setApplicationContext(ApplicationContext applicationContext)和发布方法publish(Object obj)
·定义时间监听类EventListener,实现ApplicationListener接口,实现方法onApplicationEvent(ApplicationEvent event).
java 代码
import org.springframework.context.ApplicationEvent; /** * 定义事件信息 * @author new * */ public class MessageEvent extends ApplicationEvent { private String message; public void setMessage(String message){ this.message = message; } public String getMessage(){ return message; } public MessageEvent(Object source, String message) { super(source); this.message = message; // TODO Auto-generated constructor stub } private static final long serialVersionUID = 1L; }
java 代码
import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.support.FileSystemXmlApplicationContext; public class Publisher implements ApplicationContextAware { private ApplicationContext context; @Override public void setApplicationContext(ApplicationContext arg0) throws BeansException { // TODO Auto-generated method stub this.context = arg0; } public void publish(String message){ context.publishEvent(new MessageEvent(this,message)); } public static void main(String[] args) { ApplicationContext ctx = new FileSystemXmlApplicationContext("src/applicationContext.xml"); Publisher pub = (Publisher) ctx.getBean("publisher"); pub.publish("Hello World!"); pub.publish("The quick brown fox jumped over the lazy dog"); } }
java 代码
import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; public class MessageEventListener implements ApplicationListener { @Override public void onApplicationEvent(ApplicationEvent event) { // TODO Auto-generated method stub if(event instanceof MessageEvent){ MessageEvent msEvent = (MessageEvent)event; System.out.println("Received: " + msEvent.getMessage()); } } }
在运行期,ApplicationContext会自动在当前de所有Bean中寻找ApplicationListener接口de实现,并将其作为事件接收对象.当Application.publishEvent方法调用时,所有deApplicationListener接口实现都会被激发,每个ApplicationListener可根据事件de类型判断匙否匙自己需要处理de事件,如上面deActionListener只处理ActionEvent事件.
发表评论
-
Spring Batch学习(一)介绍
2015-01-08 17:17 8449为什么我们需要批处理? 我们不会总是想要立即得到需要的信 ... -
spring包详解
2012-04-22 14:58 1719下载的spring包中文件及各种包众多,在项目中往往只有 ... -
我的spring学习笔记2-IoC(反向控制 依赖注入)
2012-04-10 07:50 2774IoC(反向控制 依赖注入)这是Spring提出来了,这也是S ... -
我的spring学习笔记1-spring 简介
2012-04-10 07:49 21811.1. 概览 ... -
我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer
2012-04-22 14:55 1894PropertyOverrideConfigurer类似于Pr ... -
我的spring学习笔记14-容器扩展点之PropertyPlaceholderConfigurer
2012-04-22 14:55 1868PropertyPlaceholderConfigurer是个 ... -
我的spring学习笔记10-轻量级_Spring框架
2012-04-14 21:59 1996一、问题提问: ... -
我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
2012-04-14 21:59 1581方法一: <bean id="m ... -
我的spring学习笔记8-Spring中Bean的实例化
2012-04-14 21:59 1500在Spring中要实例化一个Bean有几种方法: 1、最常用 ... -
我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名
2012-04-14 21:59 3040本文介绍如何给Spring的Bean配置文件的Bean定义别名 ... -
我的spring学习笔记6-ApplicationContext实例化的参数兼容思想
2012-04-14 21:59 1510ApplicationContext能读取多个Bean定义文件 ... -
我的spring学习笔记5-如何使用ApplicationContext替换BeanFactory
2012-04-12 22:03 1908如何使用ApplicationContext替换BeanFac ... -
我的spring学习笔记4-ApplicationContext详解
2012-04-12 22:03 4359ontext的核心作用是ApplicationConte ... -
我的spring学习笔记3-BeanFactory 详解
2012-04-12 22:03 19801、BeanFactory是 ... -
我的spring学习笔记2-IoC(反向控制 依赖注入)
2012-04-12 22:03 1231IoC(反向控制 依赖注入)这是Spring提出来了,这也是S ... -
我的spring学习笔记-spring 简介
2012-04-12 22:03 15931.1. 概览 ... -
关于使用Spring导致c3p0数据库死锁问题
2012-04-08 11:59 6509这个问题我实在是为整个 springsource 的员工蒙羞 ... -
SPRING多数据源切换的问题和解决方法
2012-04-08 11:56 4518在应用中,需要热切换数据源。但发现如下问题: J ... -
再析在spring框架中解决多数据源的问题
2012-04-08 11:52 1757在前面我写了《如何在 spring 框架中解决 ... -
如何在spring框架中解决多数据源的问题
2012-04-08 11:50 2973今天碰见Spring + 多个数 ...
相关推荐
在J2EE企业级项目开发中,理解并熟练运用Spring的事件处理小技巧至关重要。以下将详细介绍Spring事件处理的核心概念、工作流程以及如何在实践中应用。 首先,Spring通过`ApplicationContextAware`接口提供了一种...
在Spring框架中,事件处理是一种重要的通信机制,它允许组件之间进行解耦的通信。Spring事件处理基于发布/订阅模式,其中事件是消息的载体,而事件监听器则是对这些消息感兴趣的订阅者。在这个场景中,我们将探讨...
在Spring框架中,事件处理是一种重要的组件间通信方式。它允许一个对象在完成特定操作后,通知其他对象这一事实,而无需这些对象之间有直接的依赖关系。这种机制基于Java的观察者模式(Observer Pattern),使得松...
除了事件本身,`ApplicationEvent`还有一个`ApplicationContext`的引用,称为事件上下文,可以在事件处理方法中获取到。这在需要访问其他bean或者共享信息时非常有用。 7. **局部事件(Local Events)** 从Spring...
在Spring Batch中,分区处理是一种优化策略,它将大型工作负载分解成多个较小、独立的任务,这些任务可以在不同的线程或甚至不同的节点上并行运行,从而提高处理速度。在本示例中,我们将深入探讨"spring-batch 分区...
Spring提供了ApplicationEvent和ApplicationListener接口来实现事件处理。当你有一个事件需要在整个应用中传播时,可以创建一个自定义的事件类,继承自ApplicationEvent。例如: ```java public class CustomEvent ...
编写 Spring MVC 的 14 个小技巧
Spring框架是Java开发中广泛应用的一个开源框架,它提供了一种事件驱动模型来增强应用程序的组件之间的通信。在本文中,我们将深入探讨Spring事件驱动模型,理解其工作原理,并通过源码分析来深化认识。 首先,...
- **适用范围**:相较于Hadoop,Spring Batch更适合中小规模的数据处理任务。Hadoop主要用于处理PB级别的大数据集,而Spring Batch则在GB到TB级别的数据处理上表现更为出色。 - **架构设计**:Spring Batch的设计...
在Spring框架中,事件监听是一种常见的模式,用于在应用程序中实现不同组件之间的解耦通信。这一机制使得系统可以在不直接依赖彼此的情况下,传递信息和触发响应。本文将深入探讨Spring中的事件监听机制,并通过源码...
技术: 1. spring事件驱动(ApplicationEventPublisher) 2. 策略模式处理事件 目的: 1. 通过event,代码逻辑异步处理 2. 通过策略模式,构建具体监听实现 3. 解耦 4. 容错(降低代码块错误风险)
在Java Spring框架中,事件处理是一个重要的特性,它允许组件之间进行解耦通信。Spring事件主要涉及两个核心概念:事件发布(Event Publishing)和事件监听(Event Listening)。在这个"JAVA-spring学习资源之spring...
例如,可以设置条件判断,指定事件处理的优先级,或者在特定线程中执行事件处理。 ```java @Component public class AdvancedEventListener { @EventListener(condition = "#event instanceof CustomEvent") @...
在使用Spring事件机制实现异步的方法时,通常需要将事件监听器添加到ApplicationContext中。在上面的代码中,使用@SpringBootApplication的addListeners方法将MyListener添加到ApplicationContext中。 使用@Event...
Spring框架是Java开发中最广泛应用的轻量级框架之一,它以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心,极大地简化了企业级应用的开发工作。这份"spring 源码...
spring容器启动和关闭时事件监听;spring容器启动和关闭时事件监听;spring容器启动和关闭时事件监听
在现代Web应用开发中,Spring MVC作为主流的MVC框架,常常被用来处理HTTP请求。同时,Spring框架提供的线程池功能则可以帮助我们优化多线程环境下的性能,特别是处理并发请求时。在这个主题中,我们将深入探讨如何...
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
spring mvc统一处理异常,通过@ControllerAdvice+@ExceptionHandler