北与星辰 2021-09-17 18:09 采纳率: 0%
浏览 51

Spring Boot监听器类中@Resource失效

问题描述:Spring Boot调试监听器类中@Resource注解失效

  • 问题代码如下:

@WebListener
public class AyUserListener implements ServletContextListener {

    @Resource
    private RedisTemplate redisTemplate;
    @Resource
    private AyUserService ayUserService;
    private static final String ALL_USER = "ALL_USER_LIST";


    @Override
    public void contextInitialized(ServletContextEvent sce) {
        //查询数据库所有用户
        List<AyUser> ayUserList = ayUserService.findAll();      //断点到此处发现成员变量值都是null
        //清除缓存中的用户数据
        redisTemplate.delete(ALL_USER);
        //将数据存放到Redis缓存中
        redisTemplate.opsForList().leftPushAll(ALL_USER, ayUserList);
        //真实项目中需要注释掉,查询所有的用户数据
        List<AyUser> queryUserList = redisTemplate.opsForList().range(ALL_USER, 0, -1);
        System.out.println("缓存中目前的用户数有:" + queryUserList.size() + "人");
        System.out.println("ServletContext 上下文初始化");
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("ServletContext 上下文销毁");
    }
}


  • 问题描述:
    在其他类和测试类中 @Resource 是可以正常使用的,似乎是在使用了 @WebListener 注解的类之内 @Resource 就不能正常发挥作用了,redisTemplateayUserService 这两个变量没有如期被初始化,调试显示其值都是 null
  • 写回答

4条回答 默认 最新

  • CSDN专家-sinJack 2021-09-17 18:48
    关注

    使用其他依赖注入的注解是否正常。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月17日

悬赏问题

  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误