Web应用程序实用类

时间:2010-03-02 13:09:54

标签: java spring jsf annotations utility

以下是一个实用程序类,由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;
}

2 个答案:

答案 0 :(得分:3)

我建议你在会话范围内为你的目的创建单独的spring bean。

您可以将其称为UserSupportUserController。这个bean应该有方法getUser ()setUser ()以及一些调用服务层的方法。

答案 1 :(得分:1)

我喜欢将这样的东西当作Spring Bean,所以我可以在其上注入任何我需要的东西。

然后,如果静态方法现在适用于您,您可以在以后需要时将其设为bean。