以下是一个实用程序类,由LoginBean调用,以通过FacesContext从会话中添加和获取User对象。
该应用程序使用Spring。我应该使用注释还是在这种类中使用静态方法是一种公认的做法?如果建议使用注释,我应该使用@Component还是@Service?
// Annotate as Service/Component?
public class WebUtils {
// Add user object to session
public void setUser( User user ){
FacesContext context = FacesContext.getCurrentInstance();
context.getExternalContext().getSessionMap().put( "user", user );
}
// Get user from session
public User getUser( FacesContext context ){
if( context != null )
return (User) context.getExternalContext().getSessionMap().get("user");
return null;
}
答案 0 :(得分:3)
我建议你在会话范围内为你的目的创建单独的spring bean。
您可以将其称为UserSupport
或UserController
。这个bean应该有方法getUser ()
,setUser ()
以及一些调用服务层的方法。
答案 1 :(得分:1)
我喜欢将这样的东西当作Spring Bean,所以我可以在其上注入任何我需要的东西。
然后,如果静态方法现在适用于您,您可以在以后需要时将其设为bean。