繁体   English   中英

我们可以在定义了会话作用域对象的请求作用域中创建对象吗?

[英]Can we make a obejct in request scope which is defined defined a session scoped object?

我定义了A类和B类。 我正在使用A类中的B类对象。

在这里,我将在会话范围内添加类A对象。 我知道B对象是在A中定义的,因此默认情况下在会话范围内可用。 但是我希望应该重新创建B对象或在每个单个请求上重置值。 是否有可能在会话范围内的对象内的请求范围内定义对象?

谢谢,Naren

您可以在会话范围内插入任何范围的对象。 唯一的事情是,在会话终止之前,来自某个范围的值将始终存在。 即使您要更新会话作用域中存在的请求作用域中的对象,也可以针对每个请求对其进行更新。您需要在每个请求的会话作用域中访问该对象并进行更新,然后在任何需要的地方使用它。

当然可以,但是在分配字段时必须小心。 换句话说,您不应使用new B() ,而应依靠框架的依赖注入功能为您绑定字段。 伪代码:

@Scoped("session")
public class SessionBean {
  @Injected
  private RequestBean requestBean;
}

@Scoped("request")
public class RequestBean {}

当然,确切的实现取决于所使用的DI框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM