问题现象 最近在本地调试公司的一个Web项目时,无意中发现日志中出现了两次同一个服务的init记录,项目都是基于Spring来搭建的,按理说服务都是单例的,应该只有一次服务加载日志才对,本着对工作认真负责(闲来无事)的态度,必然要一探究竟. 问题分析 为什么同一个 Bean 会被容器初始化两次? 首先,我们先来梳理一下 Web 容器中如何加载 Bean: 在 Web 容器中,ContextLoaderListener 和 DispatchServlet 都会在容器启动的时候加载 Bean,区别在…