SessionBean和SessionAttrinbute之间的区别

时间:2018-03-11 09:08:46

标签: spring session attributes javabeans

SessionBean和SessionAttribute有什么区别,在会话中添加对象的最佳方法是什么?例如:

的SessionBean:

@Component
@Scope(value = "session")
class A {
    ...
}

SessionAttribute:

public void doGet(HttpServletRequest request, HttpServletResponse response) {

    HttpSession session = request.getSession();
    A a  = new A();
    session.setAttribute("A", a);
}

1 个答案:

答案 0 :(得分:0)

它们非常相似,可以通过HttpSession对象检索这两个对象。

它们之间的唯一区别是Spring将注入SessionBean,程序员将使用HttpSession#setAttribute(String, Object))方法将session属性添加到会话中。

如果你知道会话中需要这个bean,并且你在运行时收到信息时也知道所有必需的状态或bean和SessionAttribute的行为,我会使用SessionBean。