- 38
- 0
在springboot项目中有一个消息处理类,要在其中获取到httpSession,用@Autowired获取不到。
public class TMessageHandlerFactory implements MessageHandlerFactory {
@Autowired
private HttpSession session;
@Override
public void data(InputStream data) {
int userId = (int)session.getAtrribute("key"); //这里的session为空
.... //插入数据
}
}
如果用构造函数传过来也不行。
@Component
public class SMTPRunner implements ApplicationRunner {
@Autowired
private UserService userService; //不明白为什么这个可以获取到
@Autowired
private HttpSession session; //这个却不行
@Override
public void run(ApplicationArguments applicationArguments) throws Exception {
TMessageHandlerFactory myFactory = new TMessageHandlerFactory(session);
....
}
}
即使使用SpringBeanFacotryUtil (implements ApplicationContextAware) 也不行。
@Component
public class SpringBeanFactoryUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(SpringBeanFactoryUtil.applicationContext == null) {
SpringBeanFactoryUtil.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);
}
}
这种方法只能获取到自定义的bean(UserService这种),获取不到HttpSession这种Bean。
应该如何做呢?可以给个比较详细的代码吗?网上的资料试了都不太行。
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
