JSF是否存储我的助手类,该类也在会话中的ManageBean中引用



关于JSF会话管理如何工作的疑问

我得到了一个经理职位:

@ManagedBean(name="loginBean")
@SessionScoped
public class LoginBean implements Serializable
{
        private String userName;
        //getter and setter
        private String password;
        //getter and setter
        // Getting through spring injection
        @ManagedProperty(value="#{userBO}")
        private UserBO userBO;
        //setter method
        public fetchUserDetails(){
        User  user = userBO.getUSer(this.userName);
        //some processing
        }
    // more methods
    .
    .
    .
}

既然bean是sessionScoped,JSF会在会话中保留我的"userBO"对象吗?我相信同时具有setter和getter的变量很可能存储在会话中。如果我错了,请纠正我。或者我必须将"userBO"声明为瞬态以便忽略它?

如果您的会话在请求之间被持久化在内存中,那么它引用的任何其他对象都将被保留,并且不符合垃圾收集的条件。没有任何任务可以遍历对象的内部设置对null的引用。只有在创建bean时以及将其放入作用域之前,才会评估托管属性。

userBO设置为transient只有在会话被序列化(通过钝化到磁盘、通过会话复制等)时才会生效

相关内容

  • 没有找到相关文章

最新更新