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

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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀