springmvc的工具类中访问service为null问题解决

2022-06-30 14:07:18

报错信息
在这里插入图片描述

工具包代码
在这里插入图片描述
刚开始我还以为是dao层执行代码出现了null。查看了好几遍,确定没问题。
后来用debug设置了端点才发现是 dicService 为null 说明是没有加载到service

首先要明白为什么:
servletContextListener是监听项目启动的,项目启动时spring还没有启动,还没开始扫描service,所以是null
监听器应该用ApplicationListener,这个是监听spring和springmvc启动的。
让tomcat启动之后,先启动了spring,然后再给上下文作用域中放入数据

更改后代码:
在这里插入图片描述
@Component 是告诉springmvc,把这个类添加到容器中。
springmvc配置文件
在这里插入图片描述
要声明context 告诉springmvc容器这个工具类的位置。
bean 里面不能是接口,只能是类。所以就把service接口的实现类放进去。然后在上面第一张图片里面。强转为接口
在执行applicationContext 把数据放入到上下文作用域中

  • 作者:工作忘记时间
  • 原文链接:https://blog.csdn.net/qq_45271568/article/details/110061872
    更新时间:2022-06-30 14:07:18