当前位置: 首页 > news >正文

网站建设时怎么附加数据库专门做餐饮装修的公司

网站建设时怎么附加数据库,专门做餐饮装修的公司,青岛专业网站建设,网站图片设置教程文章目录 在WebSocket中使用Redis1.问题描述2.原因3.解决步骤1.新建一个SpringUtil.java类,通过getBean的方法主动获取实例2.在WebSocketSingleServer.java中导入 在WebSocket中使用Redis 1.问题描述 在controller 和 service中都可以正常使用Redis,在…

文章目录

  • 在WebSocket中使用Redis
    • 1.问题描述
    • 2.原因
    • 3.解决步骤
      • 1.新建一个SpringUtil.java类,通过getBean的方法主动获取实例
      • 2.在WebSocketSingleServer.java中导入

在WebSocket中使用Redis

1.问题描述

在controller 和 service中都可以正常使用Redis,在WebSocket中却报错?
在这里插入图片描述在这里插入图片描述

初次遇到这个问题,我还以为是字符串类型错误,改了两个小时才发现问题所在!!!

2.原因

在@ServerEndpoint注解类中使用@Resource或@Autowired注入失败。报出空指针异常。

原因是WebSocket是线程安全的,有用户连接时就会创建一个新的端点实例,一个端WebSocket是多对象的,使用的spring却是单例模式。这两者刚好冲突。

@Autowired注解注入对象是在启动的时候就把对象注入,而不是在使用A对象时才把A需要的B对象注入到A中。

而WebSocket在刚刚有说到,有连接时才实例化对象,而且有多个连接就有多个对象。总结就是,WebSocket是多对象的。不管单独使用也好,结合spring也好,或者结合SpringBoot也罢,他都是多对象的。

3.解决步骤

1.新建一个SpringUtil.java类,通过getBean的方法主动获取实例

package com.example.utils;import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.stereotype.Component;@Component
public final class SpringUtils implements BeanFactoryPostProcessor {private static ConfigurableListableBeanFactory beanFactory;@Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {SpringUtils.beanFactory = beanFactory;}public static ConfigurableListableBeanFactory getBeanFactory() {return beanFactory;}/*** 获取对象** @param name* @return Object 一个以所给名字注册的bean的实例* @throws org.springframework.beans.BeansException*/@SuppressWarnings("unchecked")public static <T> T getBean(String name) throws BeansException {if (getBeanFactory() == null) {//zhengkai.blog.csdn.netSystem.out.println("本地调试Main模式,没有BeanFactory,忽略错误");return null;} else {T result = (T) getBeanFactory().getBean(name);return result;}}/*** 获取类型为requiredType的对象** @param name* @return* @throws org.springframework.beans.BeansException*/public static <T> T getBean(Class<T> name) throws BeansException {if (getBeanFactory() == null) {//zhengkai.blog.csdn.netSystem.out.println("本地调试Main模式,没有BeanFactory,忽略错误");return null;} else {T result = (T) getBeanFactory().getBean(name);return result;}}/*** 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true** @param name* @return boolean*/public static boolean containsBean(String name) {return getBeanFactory().containsBean(name);}/*** 判断以给定名字注册的bean定义是一个singleton还是一个prototype。 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)** @param name* @return boolean* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException*/public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {return getBeanFactory().isSingleton(name);}/*** @param name* @return Class 注册对象的类型* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException*/public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {return getBeanFactory().getType(name);}/*** 如果给定的bean名字在bean定义中有别名,则返回这些别名** @param name* @return* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException*/public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {return getBeanFactory().getAliases(name);}}

2.在WebSocketSingleServer.java中导入

    @Resourceprivate StringRedisTemplate stringRedisTemplate= SpringUtils.getBean(StringRedisTemplate.class);
http://www.15wanjia.com/news/193541.html

相关文章:

  • 做网站 看什么书wordpress 自动添加标签
  • 优秀个人网页设计图片茂名优化网站建设
  • 网站底部横条导航代码微网站怎么做微名片
  • 有多少种做网站后台程序外贸网站怎么推广
  • 包头公司做网站网站开发总监待遇
  • 企业网站建设内容规划响应式旅行社展业网站开发调研报告
  • 做网站公司天津网页制作基础教程第2版电子教材
  • 网站数据库搬家替代wordpress 搜索引擎
  • 网站技术建设方案料远若近网站建设
  • 泰州网站制作计划互联网电商板块火箭发射
  • 做一个网站成本要多少钱义乌 网站建设推广营销
  • 临沂企业建站效果好wordpress开发导航菜单
  • 最短的网站青岛网站建设模板下载
  • 个人网站一键生成仓库erp系统有哪些
  • 怎样在赶集微网站做微招聘信息商城高中
  • 企业的网站建设怎么记科目嘉兴网站推广公司
  • 南京网站优化建站浅谈电子商务网站建设与管理论文
  • 做衣服的教程网站济南网站建设方案咨询
  • 在哪儿可以找到网站开发的需求网页设计作业主题推荐
  • 广州网站建设星珀网站后台如何备份
  • 马鞍山做网站的公司78做个淘宝客网站怎么做的
  • 遵义网站建设公司招聘76人vs猛龙
  • 建网站挣钱吗天津自动seo
  • 公司网站自己可以学习优化吗网站建设开发协议
  • 邯郸公司做网站重庆新闻联播回放今天
  • 网站搭建免费域名中国能源建设集团有限公司在哪
  • 如何做网站的外链wordpress 账户系统
  • 织梦网站发布的哪些产品和文章放在a文件可以吗淘宝里面的网站怎么做的
  • 唐山做企业网站公司域名转发网站
  • 开福区城乡建设局网站西宁网站设计企业