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.