📦 IoC 生命周期可视化实验室
把“类加载”“Bean 创建”“单例/多例/懒加载”拆开看,自己动手触发、自己观察结果。
🏠 首页
📦 IoC
🩺 修复验证
🔪 AOP
💾 MyBatis
🔄 事务
🔌 API
🧪 实验任务卡
先点“加载总览”,搞清楚 JVM 类加载 和 Spring Bean 生命周期不是一回事
再点“比较三种作用域”,对比 singleton / prototype / lazy singleton 的实例 ID 和 hashCode
然后分别连续点击“获取单例 / 获取多例 / 获取懒加载单例”,观察时间线变化
最后重置时间线,再重新做一遍,看看第一次触发和第二次触发的区别
📚 核心概念总览
加载总览
点击按钮查看“类加载 vs Bean 生命周期”...
🆚 作用域对比实验
比较三种作用域
重置时间线
观察重点:singleton 两次获取是否同一实例?prototype 为什么每次都变?lazy singleton 第一次获取前是否就已经创建?
🎯 单点触发实验
获取单例 Bean
获取多例 Bean
获取懒加载单例
点击上面的按钮,观察实例 ID / hashCode / 访问次数如何变化...
🕰️ 生命周期时间线
刷新时间线
时间线加载中...
📊 Bean 作用域解释
作用域
创建时机
实例特点
singleton
通常容器启动时
全局一个实例,反复获取同一个对象
prototype
每次 getBean 时
每次都是新实例,不进单例池
lazy singleton
第一次真正使用时
启动不创建,首次获取才创建,之后复用
记住这句话
类加载 ≠ Bean 创建;Bean 创建 ≠ 每次请求都 new。
🔍 查看所有 Bean
刷新 Bean 列表
清空