Внедрить объект в HttpSessionAttributeListener через Guice?
-
05-07-2019 - |
Вопрос
Конфигурация : Guice 1.0, Apache Tomcat 6.0
В настоящее время я вручную внедряю объекты, настроенные в модуле Guice, в мой сервлет, используя этот метод:
public void init( ServletConfig config ) throws ServletException
{
super.init( config );
ServletContext sc = config.getServletContext();
Injector injector = (Injector) sc
.getAttribute( Constants.Guice.INJECTOR_APP_CONTEXT_KEY );
injector.injectMembers( this );
}
Как я могу сделать то же самое в HttpSessionAttributeListener (так как у него нет методов жизненного цикла)?
Решение
Event Listener - это все о событиях жизненного цикла. Например, attributeAdded ()
вызывается сразу после добавления атрибута в сеанс, аналогично init () для сервлета.
Вероятно, имеет смысл ввести объект в HttpSession. В этом случае вы хотите сделать это в HttpSessionListener.sessionCreated ()
.
Не связан с StackOverflow