SpringBoot注入service为null_service注入为null-程序员宅基地

技术标签: spring  spring boot  java  SpringBoot  

1.在使用@Autowired注入service时,提示空指针异常
@Autowired
private PerFaceEquipmentService perFaceEquipmentService;

出现的原因: spring管理的都是单例(singleton),和 websocket(多对象)相冲突。项目启动时初始化,会初始化 websocket (非用户连接的),spring 同时会为其注入 service,该对象的 service 不是 null,被成功注入。但是,由于 spring 默认管理的是单例,所以只会注入一次 service。当客户端与服务器端进行连接时,服务器端又会创建一个新的 websocket 对象,但是 spring 管理的都是单例,不会给第二个 websocket 对象注入 service,所以导致只要是用户连接创建的 websocket 对象,都不能再注入了。

像 controller 里面有 service, service 里面有 dao。因为 controller,service ,dao 都有是单例,所以注入时不会报 null。但是 websocket 不是单例,所以使用spring注入一次后,后面的对象就不会再注入了,会报NullException。

解决方法:

    private static PerFaceEquipmentService perFaceEquipmentService;

    @Autowired
    public void setPlanmecaScreenService(PerFaceEquipmentService perFaceEquipmentService) {
    
        DeviceStatusTask.perFaceEquipmentService = perFaceEquipmentService;
    }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37131111/article/details/126587107

智能推荐

顺序性容器(vector&list&deque)_vector list 赋值顺序-程序员宅基地

文章浏览阅读313次。引言(1)vector向量相当于一个数组 在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数返回的大小,当超过此分配的空间时再整体重新放分配一块内存存储,这给人以vector可以不指定vector即一个连续内存的大小的感觉。通常此默认的内存分配能完成大部分情况下的存_vector list 赋值顺序

cube/SSAS 数据级权限解决方案----不使用域身份验证-程序员宅基地

文章浏览阅读301次。一个多月没更新博客了,不是不想写而是真的没有什么高质量的文章与大家分享,最近在做一个集团公司的BI解决方案,客户提出了一个合理但是又比较棘手的一个问题,就是北京的经理和南京的经理都有权限访问公司内部的报表,但是需要对其进行透明化的权限区分,北京的区域经理不能浏览任何关于南京区域的销售信息。这个需求是很合理的,但是客户方不一定会在一个域中,也就是这个经理可能到美国到非洲(呵呵,当然这是比喻..._没有加域怎么连ssas

gradle下载的缓存路径-程序员宅基地

文章浏览阅读368次。为什么80%的码农都做不了架构师?>>> ..._download_jsc.gradle下载路径

如何在iPhone或iPad上安装iOS 11 Beta-程序员宅基地

文章浏览阅读2.6k次。The public beta of iOS 11 is now available for iPhones and iPads. Anyone who wants to play withiOS 11’s new featurescan install it today. However, we recommend backing up your device first so you ca..._ios11bate

UE4_UE5结合offline voice recognition插件做语音识别功能_ue5语音识别-程序员宅基地

文章浏览阅读6.2k次,点赞4次,收藏24次。市面上主流的语音识别大多是用科大讯飞的SDK,但是那个也不是完全免费使用的,于是我选择使用offline voice recognition的语音识别,购买插件终生使用。offline voice recognition插件在UE官方商城卖200多元。我将它需要的资源都打包成一个rar,分享给有需要的人。其中就有两个UE工程,一个是UE4.27版本的,另外一个是UE5的版本。并且也下载了两个中文的语言包,一个是简版,另外一个是完整版,对于 只是做简单的主意指令的只需要用简版的语言包即可,大大提升识别速度。第_ue5语音识别

联想计算机哪款好用,华为和联想电脑哪个好用-程序员宅基地

文章浏览阅读1.8k次。对于一些具有电脑购买需求的朋友来说,在选择购买的时候经常会有一个困惑,那就是华为的电脑和联想的电脑哪一个好用?如果您现在也存在着这样的问题,那么不妨一起来看一下下面对于这两个品牌电脑的相关介绍。联想是比较早生产电脑的一家厂商,本身也是依靠做台式电脑和笔记本电脑起家的,所以也在经过长时间的发展之后一定有成熟的一面,我的一个朋友在多年之前购买了一台联想台式电脑,现在他仍然还在用着这一款台式电脑,由此可..._联想电脑和华为电脑哪个好

随便推点

python求解整数规划_如何用python结合cplex求解混合整数规划问题-程序员宅基地

文章浏览阅读1.4k次。第一步:注册IBM id账号第二步:下载相关系统的CPLEX(windows/linux/mac)这里需要系统中安装有JAVA,选择 open with Java web start launcher (需要下载JAVA),打开后就开始进入下载页面。补充JAVA安装:备注:JAVA可以通过rpm包安装,或者是bin文件安装。Rpm安装可以直接双击就可以打开jnlp后缀的文件,bin文件安装的话,需..._cplex求解双目标混合整数规划模型

CentOS 7.X 源码编译安装MariaDB-10.2.X_group ‘mail’ not found-程序员宅基地

文章浏览阅读2.5k次。CentOS 7 编译安装MariaDB-10.2.XCentOS 7下mariadb-10.1.22 源码编译安装过程笔记,希望对大家有帮助。 下载文件https://mariadb.com/ 或 https://downloads.mariadb.org/mariadb/10.2.11/
源码包的下载下载链接: https://mirrors.tuna.tsinghua.edu.cn/m_group ‘mail’ not found

wps中的大客户版本_wps 大客户版-程序员宅基地

文章浏览阅读462次,点赞11次,收藏8次。网上的WPS各个版本基本都带有稻香插件,广告一堆堆,用户需要注册才能减少广告的显示,但依然时不时跳出来显示。其实WPS给大学做过一些版本,这种定制版本应用于大学院系的文档编写使用。最关键的是这个版本没有广告,没有稻香,没有推荐模板,只有纯净的WPS。界面虽然不华丽,风格还是很传统office2000风格,不是烦人的多标签页,也不会隐藏。工具栏不会藏着掖着直接横排展示所有图标,鼠标不用切换页,所有工具一目了然。这集美大学版本是办公软件的不二之选。_wps 大客户版

Android自动化页面测速在美团的实践-程序员宅基地

文章浏览阅读587次,点赞8次,收藏19次。我们都知道ViewPager的Tab切换是可以通过一个 OnPageChangeListener 对象进行监听的,所以我们可以为ViewPager添加一个自定义的Listener对象,在切换时记录一个时间,这样可以通过用这个时间减去页面创建后的时间得出这个多余的等待时间,上报时在总时间中减去即可。这里的 getConfigModel() 方法中,会使用页面的类名或者全路径类名,去初始化时解析的配置Map中进行id的匹配,如果匹配到说明页面需要测速,就会创建测速对象 PageObject 进行测速。

百度竞价悄然改版-程序员宅基地

文章浏览阅读42次。前段时间百度因为“魏则西事件”而被要求整改,百度的竞价排名也被推向了风口浪尖。最近有网友@闪电精灵SEO张扬爆料:百度竞价已改版,竞价显示4条,或许取消了右侧排名! 但是在经过风波之后,百度的确有了一些变化,最明显的变化就是对推广的网站的标注,之前的对百度推广只有推广两个字,现在是成了蓝色..._python 百度竞价排名

《剑指offer》学习笔记_面试题35_复杂链表的复制-程序员宅基地

文章浏览阅读334次。题目描述 请实现一个函数,复制一个复杂链表。在复杂链表中,每个节点除了一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者为空。 思路 1.分治先复制当前的节点,然后递归的分别复制next或random。在复制next和random的过程中会重复复制相同节点,因此需要一个map来记录当前的复制情况。2.拆分法首先,将复制节点拼接到原始节点的...

推荐文章

热门文章

相关标签