1

I am having a used defined intercepter,from the intercepter i want to make a db call through DAO layer, so how can i inject spring bean to struts intercepter.is it possible to inject spring bean to a struts intercepter can any one suggest any idea on this.

Roman C
  • 47,329
  • 33
  • 60
  • 147
javalearner
  • 337
  • 2
  • 4
  • 20

1 Answers1

2

EDIT

Since there is no need to declare the Interceptor as Spring bean, I striked the unnecessary parts. Thanks to @AleksandrM for testing it.


Exactly the way you do with Actions , with (if I remember well) the exception of declaring it in beans.xml because Interceptors don't extend ActionSupport (that is autowired by default) .

web.xml

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

ApplicationContext.xml

<bean id="daoServiceBean" 
   class="org.foo.bar.business.dao.DaoService"/>

<bean id="myInterceptorBean" 
   class="org.foo.bar.presentation.interceptors.MyInterceptor"/>

Struts.xml

<constant name="struts.objectFactory" value="spring" />

<package ...>
    <interceptors>

        <interceptor name="myInterceptor" class="myInterceptorBean" />

        <interceptor name="myInterceptor" 
                    class="org.foo.bar.presentation.interceptors.MyInterceptor"/>

MyInterceptor.java

private DaoService daoServiceBean; // Autowired by Spring

Also read:

Konstantin
  • 3,328
  • 2
  • 30
  • 44
Andrea Ligios
  • 46,329
  • 24
  • 102
  • 208