一、概念:
二、使用要点:
事件对象通过继承ApplicationEvent类来定义。
事件监听者通过实现ApplicationListener接口来定义,并配置到spring容器中,spring容器会自动注册该事件监听器。
事件发布者可以通过实现ApplicationEventPublisher接口来定义
调用事件发布者的publishEvent方法发布了事件对象后,事件对象会传入到事件监听者的onApplicationEvent方法中。
业务类通过实现ApplicationEventPublisherAware接口,可以自动植入事件发布者对象。
三、范例:
事件发布者:
@Component public class TellerEventPublisher implements ApplicationEventPublisher { private ApplicationEventPublisher publisher; @Override public void publishEvent(ApplicationEvent event) { publisher.publishEvent(event); } @Autowired public void setApplicationEventPublisher(ApplicationEventPublisher publisher) { this.publisher = publisher; } }
事件对象:
public class TellerLoginEvent extends ApplicationEvent { public TellerLoginEvent(Object source) { super(source); } }
事件监听器:
@Component public class TellerLoginListener implements ApplicationListener<TellerLoginEvent> { @Override public void onApplicationEvent(TellerLoginEvent event) { ITellerConnection conn = (ITellerConnection) event.getSource(); TellerLogger.log.info("uid:" + conn.getUid() + " fired login event"); ...... } }
发布事件:
public class Test{ @Autowired private TellerEventPublisher publisher; public void doSomething(){ TellerLoginEvent event = new TellerLoginEvent(eventSource); publisher.publishEvent(event); } }
相关推荐
开发者首先在Eclipse这样的IDE中创建项目,然后配置Maven的POM.xml文件,声明项目所需的依赖,如Spring、Spring MVC、Mybatis和相应的数据库驱动等。接着,开发者会定义Spring的配置文件,包括bean的定义和事务管理...
通过查看源码,你可以学习到如何使用Spring的JdbcTemplate、HibernateTemplate或者MyBatis的SqlSessionTemplate来简化数据操作。 4. **MVC(Model-View-Controller)**:Spring MVC是Spring提供的Web开发框架,用于...
通过这些范例,初学者可以逐步了解Java Web开发的基本概念,学会如何使用Spring和Hibernate搭建实际项目,并掌握数据库连接的技巧。在实践中,你可以尝试修改代码,观察不同配置和设计决策对程序行为的影响,从而...
这些新特性包括:注解驱动的依赖性注入(annotation-driven dependency injection),使用注解而非XML元数据来自动侦测classpath上的Spring组件,注解对生命周期方法的支持,一个新的web控制器模型将请求映射到加...
它基于模型驱动的架构,允许开发者通过图形化的方式设计、部署和管理流程。本工作流范例将帮助你深入理解和应用 Activiti 的核心功能。 首先,我们要了解 Activiti 的核心概念: 1. **流程定义(Process ...
它提供了模型驱动的编程模型,使得业务逻辑与视图和控制器分离,提高了代码的可维护性和可测试性。在本项目中,Struts 2负责处理HTTP请求,执行相应的动作,并将结果转发到合适的视图。 **Hibernate** 是一个对象...
在Spring MVC框架中,注解的使用极大地简化了配置,提高了开发效率。本文将深入探讨如何基于注解实现Spring MVC的范例,旨在为初学者提供一个清晰的入门指南。 一、Spring MVC简介 Spring MVC是Spring框架的一部分...
在这个范例中,可能包含数据库驱动配置、连接池初始化以及DAO(Data Access Object)层的实现,用于执行增删改查等数据库操作。 2. **Servlet控制器** 在MVC架构中,Servlet通常作为Controller层,负责接收HTTP...
SAX是事件驱动模型,逐行读取,适合处理大型XML文件;而StAX是基于流的解析,允许开发者以迭代方式处理XML。 XML还广泛应用于Web服务(如SOAP消息)、配置文件(如Spring框架的bean定义)、数据交换(如RSS和Atom ...
SpringRain是一个轻量级的Spring封装项目,它展示了如何使用Spring框架来构建一个完整的应用程序。该项目本身是一个完整的Eclipse项目,演示了如何利用Spring核心库(Spring Core)、Spring JDBC以及Spring MVC来...
这本书旨在帮助读者全面掌握Java Web应用程序的开发技能,从基础到高级,涵盖了一系列核心概念和技术。通过源代码的学习,读者可以更直观地理解并实践这些知识点。 1. **Servlet与JSP**:Java Web开发中的两大基石...
在Java Web程序开发中,14到18章通常涵盖了重要的概念和技术,这些章节的源代码可以帮助我们深入理解Web应用程序的构建过程。以下是对这些章节可能涉及的关键知识点的详细解释: 1. **第14章:Servlet技术** - ...
在Spring 3及更高版本中,注解成为主流,替代了XML配置。例如,`@Controller`、`@RequestMapping`、`@Service`、`@Repository`等注解用于声明类或方法的作用。这种编程方式使得代码更简洁,减少了大量的XML配置文件...
· 使用点对点和出版与订阅消息传递模型建立应用程序 · 使用如事务和持久订阅功能,以使应用程序可靠 · 使用消息驱动的beans在Enterprise JavaBeans(EJB)中实现消息传递 · 使用JMS时结合RESTful应用程序和...
2. **前沿技术动态**:书中涵盖了Java技术的最新发展动态,如Java SE 11及以上版本的新特性、Spring框架的更新、微服务架构、容器技术(如Docker)、云原生开发、函数式编程、响应式编程、大数据处理、机器学习集成...
在Java编程中,分页是数据管理中的一个重要概念,特别是在处理大数据集时,它能有效提高应用程序的性能和用户体验。本实例将通过JBuilder 2006这一集成开发环境来展示如何实现Java分页功能。 首先,我们需要理解...
Spring MVC是Spring框架的一部分,它是一个实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,通过分离模型、视图和控制器来简化Web开发。它的设计目的是将Web层进行分离,使得开发者可以更容易地将视图层和业务...
86.3 驱动模型ModelDriven 8.7 实战检验 8.7.1 Struts2处理表单数据 8.7.2 使用M印类型的request、session、application 8.8 疑难解惑 8.8.1 Struts Prepare And Execute Filter过滤器 8.8.2 struts.xml文件配置出错...
1.5. Seam 页面流:猜数字范例........................................................................................................................................ 40 1.5.1. 理解代码....................
第十一章 事件处理模型....................79 第十三章 线程(Threads)....................80 第十四章 标准I/O流与文件.............84 第十五章 网络编程.89 Tiger学习笔记..................94 第一章 Java5.0...