Утилита веб-приложений - PullRequest
1 голос
/ 02 марта 2010

Ниже приведен служебный класс, вызываемый LoginBean для добавления и получения объекта User из сеанса через FacesContext.

Приложение использует 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 ]

3 голосов
/ 02 марта 2010

Я бы порекомендовал вам создать отдельный Spring Bean в области видимости для ваших целей.

Вы можете назвать это UserSupport или UserController.У этого компонента должны быть методы getUser (), setUser () и, возможно, некоторые методы, которые делают вызовы вашему уровню обслуживания.

1 голос
/ 02 марта 2010

Мне нравится иметь такие вещи, как Spring Bean, чтобы я мог вводить в них все, что мне нужно.

Опять же, если у вас сейчас работает статический метод, вы всегда можете сделать его компонентом позже, когда он потребуется.

...