解决WebSocket无法依赖注入的问题(Spring)
2017-08-23 11:57
330 查看
我本来想依赖注入redisTemplate,但是怎么注入都为null
修改前
最后搜索了一下
首先要实现ApplicationContextAware接口
另写一个SpringUtil类
所以修改SocketServer.class类如下
修改前
SocketServer.class基本代码如下:
@ServerEndpoint(value = "/socket") @Component public class SocketServer{ @Autowired private RedisTemplate<String, String> redisTemplate;}
最后搜索了一下
首先要实现ApplicationContextAware接口
另写一个SpringUtil类
@Component public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext = null; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if(SpringUtil.applicationContext == null){ SpringUtil.applicationContext = applicationContext; } } //获取applicationContext public static ApplicationContext getApplicationContext() { return applicationContext; } //通过name获取 Bean. public static Object getBean(String name){ return getApplicationContext().getBean(name); } //通过class获取Bean. public static <T> T getBean(Class<T> clazz){ return getApplicationContext().getBean(clazz); } //通过name,以及Clazz返回指定的Bean public static <T> T getBean(String name,Class<T> clazz){ return getApplicationContext().getBean(name, clazz); } }
所以修改SocketServer.class类如下
@ServerEndpoint(value = "/userWebsocket") @Component public class UserMessageSocketServer{ @Autowired private RedisTemplate<String, String> redisTemplate = (RedisTemplate<String, String>) SpringUtil.getBean("stringRedisTemplate");}利用ApplicationContext接口获取Bean即可
相关文章推荐
- 解决Spring boot使用Quartz时Job中无法注入Bean 空指针异常问题
- Spring Tool Suite无法现在aspectjweaver.jar这个Maven依赖问题解决
- 解决Spring在某些条件下无法自动注入的问题
- 关于TestNG无法采用Spring注入bean的问题解决
- 解决Spring+Quartz无法自动注入bean问题
- Spring AOP切面类依赖注入失败问题解决
- Shiro解决无法注入Service问题(包括Spring MVC和Spring Boot)
- 关于spring boot无法自动注入bean问题解决方案
- 解决Spring注解无法注入静态变量的问题
- 解决spring boot websocket无法注入bean的问题
- 解决Spring+Quartz无法自动注入bean问题
- 解决Spring+Quartz无法自动注入bean问题
- 解决spring-boot 中 bean无法注入的问题
- 解决spring 自动扫描包的时候出现 service无法自动注入的问题
- Spring 4.2 方法注入解决单例Bean的原型Bean依赖问题
- springboot websocket 解决不能注入bean问题
- 解决Spring+Quartz无法自动注入bean问题
- spring boot log4j2与三方依赖库log4j冲突无法初始化问题解决方法
- 解决Springboot @Autowired 无法注入问题
- 解决Spring+Quartz无法自动注入bean问题