websocket 中使用Service层的方法

课设做了个使用websocket在线聊天的小demo,在websocket调用service层时,报空指针异常,底层程序员就只会百度了~

记下这个解决办法吧。

首先创建一个类

import org.springframework.beans.BeansException;

import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;

@Component
@Lazy(false)
public class ApplicationContextRegister implements ApplicationContextAware {

    private static ApplicationContext APPLICATION_CONTEXT;

    /**
     * 设置spring上下文  *  * @param applicationContext spring上下文  * @throws BeansException
     */
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        APPLICATION_CONTEXT = applicationContext;
    }

    public static ApplicationContext getApplicationContext() {
        return APPLICATION_CONTEXT;
    }
}

  然后在要调用service层的地方添加如下内容:

ApplicationContext act = ApplicationContextRegister.getApplicationContext();
storageService=act.getBean(StorageService.class);
((StorageService) storageService).save(storage);

  

嗯,就差不多了。

参考:https://blog.csdn.net/u010919083/article/details/79388720

转载于:https://www.cnblogs.com/lyuyi/p/11100130.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. SSM框架设计用户登录 在SSM框架,可以使用Spring MVC作为web,Spring作为业务,Mybatis作为持久。具体实现步骤如下: 1)创建一个实体类User,用于存储用户信息 2)创建一个Mapper接口,用于定义查询用户信息的方法 3)创建一个Service,用于处理业务逻辑 4)在Controller使用Spring MVC框架处理用户请求,调用Service处理业务逻辑 5)在登录成功后,将用户信息存储到Session,用于后续操作 2. 监测查看在线用户 在SSM框架,可以使用WebSocket技术实现实时监测在线用户。具体实现步骤如下: 1)创建一个WebSocket处理类,用于处理WebSocket请求 2)在处理类,实现onOpen、onClose、onMessage等方法,用于处理WebSocket连接、关闭、消息等事件 3)在onOpen方法,将WebSocket连接存储到一个集合,表示该用户在线 4)在onClose方法,从集合删除该WebSocket连接,表示该用户下线 5)在onMessage方法,处理WebSocket消息,例如查询在线用户信息等操作 6)在前端页面使用JavaScript调用WebSocket连接,实现在线用户的实时显示 3. 其他用户下线后,该用户自动从在线列表消失 在SSM框架,可以使用WebSocket技术实现自动监测用户下线,并将其从在线列表删除。具体实现步骤如下: 1)在WebSocket处理类使用定时器定时检测在线用户列表WebSocket连接是否有效 2)如果发现某个WebSocket连接已经关闭,则从在线用户列表删除该连接,并向其他在线用户发送通知,表示该用户已下线 3)在前端页面使用JavaScript调用WebSocket连接,实现在线用户的实时显示,如果发现有用户下线,则自动将其从在线列表删除

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值