一、自定义事件
1、继承ApplicationEvent。
import org.springframework.context.ApplicationEvent;
public class RegisterEvent extends ApplicationEvent {
public RegisterEvent(Object source) {
super(source);
}
}
二、定义监听器
1、继承ApplicationListener。
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
public class CustomerServiceListener implements ApplicationListener {
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof RegisterEvent) {
System.out.println("非法年龄!");
}
}
}
2、注册自定义的监听器。
<bean id="listener" class="event.CustomerServiceListener" />
三、发布事件。
1、在配置文件里声明监听器类。
<bean id="customerService" class="event.CustomerService" />
2、Bean类调用容器的方法发布事件。
a、继承后处理Bean接口ApplicationContextAware,实现setApplicationContext。
b、调用传入的ApplicationContext的publishEvent方法发布事件。
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class CustomerService implements ApplicationContextAware {
private ApplicationContext ac;
public void register(String name, int age) {
if (age < 18) {
ac.publishEvent(new RegisterEvent(this));
} else {
System.out.println("注册成功!");
}
}
public void setApplicationContext(ApplicationContext ac)
throws BeansException {
this.ac = ac;
}
}
ac.publishEvent(new RegisterEvent(this));发布事件,this事件源
分享到:
相关推荐
SPRING 笔记SPRING 笔记SPRING 笔记
spring笔记spring基础笔记
Spring笔记可能涵盖了以下内容: 1. **IoC(Inversion of Control)容器**:Spring的核心特性之一,通过反转控制权,让框架负责管理对象的生命周期和装配,开发者只需定义配置,无需手动创建对象。 2. **依赖注入...
spring入门笔记
例如,在业务逻辑类中,可以使用 Spring 的 AOP 来处理通用的数据库操作,将事务管理等横切关注点分离出来,提高代码的可读性和可维护性。 配置示例: ```xml <beans xmlns="http://www.springframework.org/schema...
- **ApplicationContext**:是一种高级的Spring容器,除了提供BeanFactory的所有功能外,还增加了国际化支持、事件发布机制等功能。 通过以上介绍,我们可以看到Spring框架不仅功能强大,而且设计得非常灵活。无论...
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
Spring框架是Java开发中的核心组件,它为应用程序提供...这些笔记将涵盖这些主题的基本概念、使用方法和示例,帮助初学者快速理解和掌握Spring生态系统。通过深入学习和实践,开发者能够构建出高效、可扩展的Java应用。
"Spring笔记示例源代码"这个资源很可能是为了帮助学习者深入理解Spring框架的各种功能和用法而提供的实际代码示例。 1. **Spring IoC**:IoC是Spring的核心特性,它将对象的创建和管理权交给Spring容器,使得开发者...
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
最后,SpringCloud Bus可以看作是一个事件、消息总线,它常被用来刷新配置或者广播其他事件。开发者需要学习如何利用SpringCloud Bus实现配置的动态更新。 除此之外,尚硅谷周阳老师的笔记可能还涵盖了SpringCloud ...
2. **Spring Context**:建立在Core之上,提供了一个配置文件的加载机制及事件传播机制。 3. **Spring AOP**:提供了面向切面编程的实现,让开发者能够更加方便地实现诸如事务管理等功能。 4. **Spring DAO**:提供...
2. **方便解耦**:Spring通过依赖注入(Dependency Injection, DI)机制实现了对象之间的解耦,简化了开发过程中的对象管理。 3. **AOP编程的支持**:Spring支持面向切面编程(Aspect-Oriented Programming, AOP)...
尚硅谷Spring6的笔记
尚硅谷Spring笔记
除了以上核心内容,Spring笔记中还涵盖了Spring Boot、Spring Cloud等进阶话题,这些都是现代微服务架构中不可或缺的部分。Spring Boot简化了Spring应用的初始搭建和运行过程,而Spring Cloud则为构建分布式系统提供...
Spring Cloud的五大核心组件包括:Eureka、Ribbon、Hystrix、Feign和Zuul。其中,Eureka是服务注册与发现中心,Ribbon和Feign是服务调用组件,Hystrix用于实现熔断模式,而Zuul则是微服务网关。Spring Cloud Alibaba...
Spring学习笔记( spring视频笔记)
Spring 笔记 Spring 是 Java 企业版(Java EE)应用程序的框架,提供了结构化的配置文件,实现了控制反转(IoC)和面向切面编程(AOP),支持表现层、业务逻辑层和持久层。Spring 的核心是 IoC 和 AOP,能够与主流...