zoukankan      html  css  js  c++  java
  • websocket 使用 spring 的service层 ,进而调用里面的 dao层 来操作数据库 ,包括redis、mysql等通用

    1.前言

    描述一下今天用websocket踩得坑  ---》空指针异常!

    我想在websocket里面使用service 层的接口,从中获取数据库的一些信息  ,

    使用 @Autowired 注解 接口  ,报错 空指针异常  !!!

    查过资料才发现 ,websocket 无法使用注解注入bean ,因为每一次websocket的握手连接就像是new了一个对象,对是全新的

    2.网上查找的代码 测试无法使用,截图留下笔记

    然后去百度 博客 寻找解决答案  ,基本都是要重写  ApplicationContextAware 接口的方法  ,

    测试发现仍然报空指针异常,抓取异常内容甚至为空找不到异常原因。。。

    网上 提供的代码截图 :

     使用方法:

     报错结果;

    3 .真正的解决办法  :

    使用 ContextLoader.getCurrentWebApplicationContext().getBean( 【服务名称.class】);  即可

     就这么简单,效率还高 !!!

    测试截图:

     但是有一个注意的地方,经过测试  这里的 getbean()方法里面只能使用 service的接口名,并且以 【 service名称.class 】 为key才可以, 无法使用  【serviceImpl.class】

    并且  字符串 key也无法使用  【“service”】 【 “serviceImpl” 】都不能使用

    原因不知道  ,百度 、博客都找不到关于这个的资料  ,以此为记录!  

    -------------------------

    幸好 ,可以正常使用  ,感动的要哭

    -------------------------

    这得感谢一位博主的知识分享  ,原址  :https://blog.csdn.net/kxj19980524/article/details/85108047   

  • 相关阅读:
    rsyslogd 日志服务
    Java PropertiesLoader 工具类 开发者使用
    1k纯JS脚本的3D玫瑰
    Python ConfigParser的使用
    一些比较精妙的宏定义
    关于realloc的调整内存方式
    初学javascript代码
    PHP中this,self,parent的区别
    PHP数据库操作基类(单例模式)
    php之规范编程命名
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/12304193.html
Copyright © 2011-2022 走看看