springboot serverEndpoint導(dǎo)致@resource注解不生效
在 Spring Boot 中,@Resource
注解用于注入依賴,RedisTemplate
用于與 Redis 數(shù)據(jù)庫交互。
如果你在 Spring Boot 中使用了 @ServerEndpoint
注解創(chuàng)建 WebSocket,可能會(huì)導(dǎo)致 @Resource
注解無法注入 RedisTemplate
的問題。
這是因?yàn)?nbsp;@ServerEndpoint
使用了自己的內(nèi)部類加載器加載,而不是應(yīng)用程序類加載器。這意味著 @Resource
注解無法訪問應(yīng)用程序上下文中的 RedisTemplate
實(shí)例。
要解決這個(gè)問題,你可以使用 Spring Boot 提供的 @Component
注解代替 @ServerEndpoint
,然后在組件類中使用 @ServerEndpoint
注解創(chuàng)建 WebSocket。這將使用應(yīng)用程序類加載器加載組件類,使 @Resource
注解能夠正常注入 RedisTemplate
實(shí)例。
另一種解決方法是將 RedisTemplate
實(shí)例化為靜態(tài)屬性,然后在 @ServerEndpoint
注解的類中訪問該屬性,而不是使用 @Resource
注解進(jìn)行注入。
@Component public class WebSocketComponent { private static RedisTemplate<String, String> redisTemplate; @Resource public void setRedisTemplate(RedisTemplate<String, String> redisTemplate) { WebSocketComponent.redisTemplate = redisTemplate; } @ServerEndpoint("/websocket") public static class WebSocketServerEndpoint { // 使用 WebSocketComponent.redisTemplate 訪問 RedisTemplate 實(shí)例 } }
這樣做將確保 RedisTemplate
實(shí)例只會(huì)在應(yīng)用程序啟動(dòng)時(shí)實(shí)例化一次,并且可以在 @ServerEndpoint
注解的類中訪問該實(shí)例。
到此這篇關(guān)于springboot serverEndpoint導(dǎo)致@resource注解不生效的文章就介紹到這了,更多相關(guān)springboot @resource注解不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot定時(shí)調(diào)度之Timer與Quartz詳解
Java?中常用的定時(shí)調(diào)度框架有以下幾種:Timer、ScheduledExecutorService、Spring?Task和Quartz,本文主要來和大家講講他們的具體使用,需要的可以參考一下2023-06-06sftp和ftp 根據(jù)配置遠(yuǎn)程服務(wù)器地址下載文件到當(dāng)前服務(wù)
這篇文章主要介紹了sftp和ftp 根據(jù)配置遠(yuǎn)程服務(wù)器地址下載文件到當(dāng)前服務(wù)的相關(guān)資料本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10Springboot整個(gè)Quartz實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)的示例代碼
這篇文章主要介紹了Springboot整個(gè)Quartz實(shí)現(xiàn)動(dòng)態(tài)定時(shí)任務(wù)的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09Java深入學(xué)習(xí)圖形用戶界面GUI之事件處理
這篇文章主要介紹了基于Java GUI 事件處理方式,一個(gè)圖形界面制作完成了,在程序開發(fā)中只是完成了起步的工作。要想讓一個(gè)組件都發(fā)揮自己的作用.就必須對所有的組件進(jìn)行事件處理2022-05-05java開發(fā)Dubbo負(fù)載均衡與集群容錯(cuò)示例詳解
這篇文章主要為大家介紹了java開發(fā)Dubbo負(fù)載均衡與集群容錯(cuò)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11java如何讀取properties文件將參數(shù)值配置到靜態(tài)變量
這篇文章主要介紹了java如何讀取properties文件將參數(shù)值配置到靜態(tài)變量問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08???????Spring多租戶數(shù)據(jù)源管理 AbstractRoutingDataSource
本文技術(shù)了???????Spring多租戶數(shù)據(jù)源管理 AbstractRoutingDataSource,下文詳細(xì)內(nèi)容介紹,需要的小伙伴可以參考一下2022-05-05