学习java第三十天

Spring容器扩展机制

IoC容器负责管理容器中所有bean的生命周期,而在bean生命周期的不同阶段,Spring提供了不同的扩展点来改变bean的命运。在容器的启动阶段,BeanFactoryPostProcessor允许我们在容器实例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做一些额外的操作,比如修改bean定义的某些属性或者增加其他信息等。

对于事件发布者(事件源)通常需要关注两点:

  1. 在合适的时机发布事件。此例中的methodMonitor()方法是事件发布的源头,其在方法执行之前和结束之后两个时间点发布MethodMonitorEvent事件,每个时间点发布的事件都会传给相应的监听器进行处理。

在具体实现时需要注意的是,事件发布是顺序执行,为了不影响处理性能,事件监听器的处理逻辑应尽量简单。

  1. 事件监听器的管理。publisher类中提供了事件监听器的注册与移除方法,这样客户端可以根据实际情况决定是否需要注册新的监听器或者移除某个监听器。

如果这里没有提供remove方法,那么注册的监听器示例将一直MethodMonitorEventPublisher引用,即使已经废弃不用了,也依然在发布者的监听器列表中,这会导致隐性的内存泄漏。

相关推荐
A24207349307 分钟前
JavaScript学习
前端·javascript·学习
im_AMBER12 分钟前
weather-app开发手记 02 JSON基础 | API 调用 400 错误修复 | JWT 认证问题
笔记·学习·json·axios·jwt
阿蒙Amon15 分钟前
JavaScript学习笔记:1.JavaScript简介
javascript·笔记·学习
副露のmagic17 分钟前
更弱智的算法学习day 10
python·学习·算法
程序员清风22 分钟前
别卷模型了!上下文工程才是大模型应用的王道!
java·后端·面试
go__Ahead24 分钟前
【Java】ThreadLocal源码解析
java
利剑 -~27 分钟前
Spring AI Alibaba 1.1版本
java·人工智能·spring
Ada大侦探28 分钟前
新手小白学习Power BI第五弹--------产品分析以及产品毛利率报表、条件式标红、饼图、散点图
学习·数据分析·powerbi
雨中飘荡的记忆29 分钟前
Guava工具库实战
java
while(1){yan}34 分钟前
JAVA中如何操作文件
java·开发语言·面试