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

websocket连接mysql_websocket 使用 spring 的service层 ,进而调用里面的 dao层 来操作数据库 ,包括redis、mysql等通用...相关推荐

  1. Spring Boot开发基于三层架构设计:Dao层、Service层、Controller层

    三层架构设计:基于Spring Boot开发要使用三层架构: 数据访问层(Dao).业务逻辑层(Service).控制层(Control-ler) (1)数据访问层(Dao):Dao层是最底层的设计, ...

  2. python 连接hive_《go语言从入门到入坟》Go 操作 数据库、Redis、HDFS

    楔子 这里我们来介绍一下如何使用 Go 连接数据库.Redis.HDFS,当然数据库.Redis.HDFS本身我们就不介绍了,这里我们主要介绍如何使用 Go 进行连接并执行相应操作. Go 操作数据库 ...

  3. java语言的Dao层设计(一)—— Dao层基本结构设计

    Dao层--数据访问层 Dao层是具体到每个操作,每个表的增删查改.那怎么写这个数据访问层呢?首先是数据库的设计以及所计划实现的功能,之后是IBean.IDao这两个基础接口以及这两个接口的实现,再之 ...

  4. service层直接调用service层还是dao层

    问题引入: java web项目开发中spring service层直接调用service层还是dao层,哪个更合理? 一.初步理解 service层作为一个业务逻辑处理层,我若直接调用dao层,那么 ...

  5. Spring整合Mybatis之DAO层、Service层开发

    3. Spring整合Mybatis编程DAO层开发 1. 项目引入相关依赖spring mybatis mysql mybatis-spring druid2. 编写spring.xml整合:spr ...

  6. Spring boot 三层框架dao层、service层、controller层+实体model层

    Spring boot 三层框架dao层.service层.controller层+实体model层 model层 dao层 service层 controller层 首先创建一个springboot ...

  7. java action dao_java中Action层、Service层和Dao层的功能区分

    一.Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DA ...

  8. [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

    首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...

  9. Entity层、DAO层、Service层、Controller层 先后顺序

    写法顺序: 1.数据库表 2.实体层 3.DAO层写接口 4.Mapper层写和DAO层对应的映射规则,即SQL和POJO的映射规则.其中<select>元素定义的resultType指向 ...

最新文章

  1. Codeforces Round #372 (Div. 2), problem: (B) Complete the Word
  2. IT人士的人际关系压力
  3. [示例]NSDictionary-按value排序数组中的字典并输出(描述器)
  4. 国内35所人工智能学院大盘点
  5. mysql内连接简写_技术分享 | MySQL 的 join_buffer_size 在内连接上的应用
  6. USACO Training Section 1.2 双重回文数 Dual Palindrom
  7. python导出项目所依赖的所有的库文件以及安装
  8. python嵩天第七章课后题答案_python语言程序设计嵩天第七章答案
  9. 腾讯QQ空间g_tk算法
  10. [机器学习]京东机器学习类图书畅销原因分析-决策树或随机森林
  11. 学习C++项目—— 计算机网络编程基础 和 学习多线程,多进程基础
  12. ado控件连接mysql_VB利用ADO控件连接access数据库
  13. 解决Mac App Store下载软件一直转圈无法完成的问题,黑白苹果均有效
  14. fortran程序设计2011年注册电气工程师基础考试大纲3
  15. Solidworks 2015 安装教程
  16. UI 设计师不容错过的12款APP UI 交互设计
  17. 操作系统与网络协议晦涩难懂,华为18级工程师神级文档助你过关
  18. Axios的二次封装(简单易懂)
  19. 小程序--时间处理(显示几分钟前,,几小时前,,几天前...)
  20. P1719 最大加权矩形(二维前缀和Java)

热门文章

  1. 消息队列(3):RabbitMQ
  2. 历年高考报考人数和录取人数
  3. JAVA进阶教学之(Enum枚举类)
  4. Linux的实际操作:文件目录类的实用指令(重定向“>“和追加“>>“)
  5. 计算机主板开机接线端子,装机必看,机箱前置面板接线向导,不怕再接错线了...
  6. java getselecteditem_java – 将getSelectedItem()从JComboBox转换为int或任何其他东西
  7. python函数代码_如何显示Python函数的代码?
  8. python中的with open读取表格文件_python 使用 with open() as 读写文件
  9. tracepro杂散光分析例子_光刻机的蜕变过程及专利分析
  10. c++ 单例模式_Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比