通过Guice将对象注入HttpSessionAttributeListener?

时间:2009-09-10 08:11:12

标签: java tomcat servlets dependency-injection guice

配置:Guice 1.0,Apache Tomcat 6.0

我目前正在使用此方法手动将Guice模块中配置的对象注入我的servlet:

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中执行相同的操作(因为它没有任何生命周期方法)?

1 个答案:

答案 0 :(得分:0)

事件监听器是关于生命周期事件的。例如,在将属性添加到会话后立即调用attributeAdded(),类似于Servlet的init()。

将对象注入HttpSession可能更有意义。在这种情况下,您需要在HttpSessionListener.sessionCreated()

中执行此操作