springboot serverEndpoint導致@resource注解不生效
在 Spring Boot 中,@Resource 注解用于注入依賴,RedisTemplate 用于與 Redis 數(shù)據(jù)庫交互。
如果你在 Spring Boot 中使用了 @ServerEndpoint 注解創(chuàng)建 WebSocket,可能會導致 @Resource 注解無法注入 RedisTemplate 的問題。
這是因為 @ServerEndpoint 使用了自己的內(nèi)部類加載器加載,而不是應用程序類加載器。這意味著 @Resource 注解無法訪問應用程序上下文中的 RedisTemplate 實例。
要解決這個問題,你可以使用 Spring Boot 提供的 @Component 注解代替 @ServerEndpoint,然后在組件類中使用 @ServerEndpoint 注解創(chuàng)建 WebSocket。這將使用應用程序類加載器加載組件類,使 @Resource 注解能夠正常注入 RedisTemplate 實例。
另一種解決方法是將 RedisTemplate 實例化為靜態(tài)屬性,然后在 @ServerEndpoint 注解的類中訪問該屬性,而不是使用 @Resource 注解進行注入。
@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 實例
}
}
這樣做將確保 RedisTemplate 實例只會在應用程序啟動時實例化一次,并且可以在 @ServerEndpoint 注解的類中訪問該實例。
到此這篇關于springboot serverEndpoint導致@resource注解不生效的文章就介紹到這了,更多相關springboot @resource注解不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解springboot+mybatis-plue實現(xiàn)內(nèi)置的CRUD使用詳情
這篇文章主要介紹了詳解springboot+mybatis-plue實現(xiàn)內(nèi)置的CRUD使用詳情,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07
Java調(diào)用UniHttp接口請求失敗的三種解決策略
在當今數(shù)字化時代,不管是內(nèi)部系統(tǒng)之間還是跟外部系統(tǒng)的對接,接口調(diào)用已成為軟件開發(fā)中不可或缺的一部分,本文主要介紹了Java調(diào)用UniHttp接口請求失敗的三種解決策略,希望對大家有所幫助2025-09-09
java實現(xiàn)字符與Unicode碼轉(zhuǎn)換(附源碼)
在 Java 開發(fā)中,經(jīng)常需要在字符(char 或 String)與其對應的Unicode 碼點(int)之間進行相互轉(zhuǎn)換,下面小編就來和大家詳細介紹一下具體實現(xiàn)方法吧2025-07-07
Java使用ThreadLocal實現(xiàn)當前登錄信息的存取功能
ThreadLocal和其他并發(fā)工具一樣,也是用于解決多線程并發(fā)訪問,下這篇文章主要給大家介紹了關于Java使用ThreadLocal實現(xiàn)當前登錄信息的存取功能,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02
Java導出excel時合并同一列中相同內(nèi)容的行思路詳解
這篇文章主要介紹了Java導出excel時合并同一列中相同內(nèi)容的行,需要的朋友可以參考下2018-06-06
SpringBoot項目調(diào)優(yōu)及垃圾回收器的比較詳解
這篇文章主要介紹了SpringBoot項目調(diào)優(yōu)及垃圾回收器的比較詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04

