报错信息
工具包代码
刚开始我还以为是dao层执行代码出现了null。查看了好几遍,确定没问题。
后来用debug设置了端点才发现是 dicService 为null 说明是没有加载到service
首先要明白为什么:
servletContextListener是监听项目启动的,项目启动时spring还没有启动,还没开始扫描service,所以是null
监听器应该用ApplicationListener,这个是监听spring和springmvc启动的。
让tomcat启动之后,先启动了spring,然后再给上下文作用域中放入数据
更改后代码:
@Component 是告诉springmvc,把这个类添加到容器中。
springmvc配置文件
要声明context 告诉springmvc容器这个工具类的位置。
bean 里面不能是接口,只能是类。所以就把service接口的实现类放进去。然后在上面第一张图片里面。强转为接口
在执行applicationContext 把数据放入到上下文作用域中