相关疑难解决方法(0)

如何从 Spring Boot 中的公共类获取会话?

我想从普通班级获得会话。使用@Autowired没有效果。

public class TMessageHandlerFactory implements MessageHandlerFactory {

    @Autowired
    private HttpSession session;

    @Override
    public void data(InputStream data) {
        int userId = (int)session.getAtrribute("key"); //session null
        ....        //do sth
    }
}
Run Code Online (Sandbox Code Playgroud)

构造函数也不起作用

@Component
public class SMTPRunner implements ApplicationRunner {

    @Autowired
    private UserService userService;    // userService can access

    @Autowired
    private HttpSession session;        // session can't access

    @Override
    public void run(ApplicationArguments applicationArguments) throws Exception {
        TMessageHandlerFactory myFactory = new TMessageHandlerFactory(session);
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

我也试过用SpringBeanFactory,也没用。

@Component
public class SpringBeanFactoryUtil implements ApplicationContextAware { …
Run Code Online (Sandbox Code Playgroud)

session spring spring-mvc httpsession spring-boot

8
推荐指数
1
解决办法
9977
查看次数

标签 统计

httpsession ×1

session ×1

spring ×1

spring-boot ×1

spring-mvc ×1