Comment by [email protected]:

The struts2 Guice configuration is not working for me. I have configured my web.xml as :

web.xml

         <listener>
            <listener-class>Utility.GuiceListener</listener-class>
         </listener>

          <filter>
            <filter-name>guice</filter-name>
            <filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
          </filter>
        
          <filter-mapping>
            <filter-name>guice</filter-name>
            <url-pattern>/*</url-pattern>
          </filter-mapping>

          <filter>
              <filter-name>struts2</filter-name>
              <filter-class>
                        
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
              </filter-class>
          </filter>

         <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
         </filter-mapping>

and also struts.xml :

        <constant name="struts.objectFactory" value="guice" />
        <constant name="guice.module" value="Utility.GuiceModule" />


I have created GuiceListener as :

package Utility;

import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.servlet.GuiceServletContextListener;

public class GuiceListener extends GuiceServletContextListener {

        private final Injector injector;

        @Inject
        public GuiceListener(Injector injector) {
                this.injector = injector;
        }

        @Override
        public Injector getInjector() {
                return injector;
        }

}

and my GuiceModule class as :

package Utility;

import com.google.inject.Binder;
import com.google.inject.Module;

public class GuiceModule implements Module {

        @Override
        public void configure(Binder binder) {
                // bindings configurations are here
        }
}

But this configuration producing following error :


SEVERE: Error configuring application listener of class Utility.GuiceListener
java.lang.InstantiationException: Utility.GuiceListener
        at java.lang.Class.newInstance0(Class.java:340)
        at java.lang.Class.newInstance(Class.java:308)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4079) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
        at 
org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
11 Jan, 2013 12:42:42 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
11 Jan, 2013 12:42:42 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
11 Jan, 2013 12:42:42 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/SvnDiffUtilityDemoFinal] startup failed due to previous errors


Please help me to get out from this problem.

And can anyone tell me what are the clear cut advantages of Dependency Injection.

For more information:
http://code.google.com/p/google-guice/wiki/Struts2Integration

--
You received this message because you are subscribed to the Google Groups 
"google-guice-dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice-dev?hl=en.

Reply via email to