场景
今天搭建项目的时候出现了这么个异常:说找不到依赖。
是这样的,是一个ssm项目,我们把根据功能划分模块,web模块依赖服务模块的包,发现找不到,装载失败了。
解决方案
最后发现是ContextLoaderListener监听器没配导致的。
ContextLoaderListener作用
ContextLoaderListener的作用就是启动Web容器时,读取在contextConfigLocation中定义的xml文件,自动装配ApplicationContext的配置信息,并产生WebApplicationContext对象,然后将这个对象放置在ServletContext的属性里,这样我们只要得到Servlet就可以得到WebApplicationContext对象,并利用这个对象访问spring容器管理的bean。简单来说,就是上面这段配置为项目提供了spring支持,初始化了Ioc容器。spring是管理逻辑层和数据访问层的依赖。而listener是web组件,那么必然不能放在spring里面。真正实例化它的应该是tomcat,在启动加载web.xml实例化的。