对于位于here的春季新反应网络通量api,有一个新的http会话实现。 我想将最新的弹簧网络会话整合到新的弹簧反应网络流量中。我似乎无法得到它,我尝试将它作为一个bean注入,但它不起作用。我想像通常使用HttpSession
那样注入它类似
@Autowired
Websession webSession;
答案 0 :(得分:2)
由于Spring WebFlux是一个反应式Web框架,因此您不能期望Web会话作为bean注入(即使在请求范围内)。在Servlet世界中,每个请求/响应都在一个线程中处理,从而启用这些方法(即"请求"范围)。使用WebFlux,可以由多个线程处理给定的请求。
与当前请求/响应关联的WebSession
实例实际上已附加到ServerWebExchange
(请参阅getSession)。由于反应式编程模型的性质,您很可能在Reactor运算符中访问该会话 - 因此您无法将此实例注入应用程序中的其他位置。